Difference between revisions of "Changelog"

From Minetest Developer Wiki
Jump to navigation Jump to search
(→‎5.7.0 → 5.8.0: Add release date)
 
(244 intermediate revisions by 9 users not shown)
Line 1: Line 1:
 
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 [https://github.com/minetest/minetest/commits/master commit log].
 
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 [https://github.com/minetest/minetest/commits/master commit log].
  
If you want to see older versions, please go to [[OldChangelog|this page]].
+
==  5.7.0 → 5.8.0 ==
  
== 0.4.16 → 5.0.0 (Not yet released) ==
+
Released on 4 December 2023.
  
This is an incomplete change log of an in-development version.
+
=== Deprecations and compatibility notes ===
Last updated 15th Aug by rubenwardy <!-- 5aa865e56b18c3f0cf1d43da2298ccc05236e15c -->
+
* '''Minetest Game is no longer the default game and will no longer be shipped by Minetest.''' If you want it back, install it by using the “Content” tab
 +
* <code>lua_api.txt</code> has been converted to Markdown and renamed to <code>lua_api.md</code>
 +
* Android now builds via CMake (''sfan5'')
 +
* Compiling: C++17 support is now required
 +
* Node definition field <code>air_equivalent</code> is now documented—as deprecated.
 +
* Reading/defining initial object properties directly from an entity definition is deprecated; they should be moved to <code>initial_properties</code>
 +
 
 +
=== Client / Audiovisuals ===
 +
* Main menu: Redesign and unify settings interface (''rubenwardy'', ''grorp'', icon by ''Zughy'')
 +
* Main menu: better prompt to install a game when none is installed (''ROllerozxa'')
 +
* Main menu: various fixes (''grorp'', ''ROllerozxa'')
 +
* ContentDB GUI: Load package list asynchronously (''grorp'')
 +
* Option to invert direction or disable mouse wheel for hotbar item selection (''srifqi'')
 +
* Inventory mouse shortcut improvements (''OgelGames'')
 +
** Holding down <kbd>Shift</kbd>+<kbd>click</kbd> while moving the mouse over item slots now continously moves items to other inventory (if available)
 +
** Press <kbd>Shift</kbd>+<kbd>click</kbd> on the crafting output slot to craft and move result to inventory
 +
*** <kbd>Left mouse button</kbd>: Craft as many as possible
 +
*** <kbd>Mouse wheel</kbd>: Craft 10 times
 +
*** <kbd>Right mouse button</kbd>: Craft once
 +
** Drag an item stack over empty slots to split stacks evenly
 +
** Hold down <kbd>Left mouse button</kbd> while holding an item stack and move the cursor over the slots to pick up items of the same type
 +
** <kbd>Double-click</kbd> an item stack to pick up all items of the same type in this inventory
 +
* Implement <code>check_offset</code> for decorations (''nephele-gh'')
 +
* Touchscreen input improvements (''srifqi'')
 +
* Rendering-related performance improvements and fixes (''numberZero'')
 +
* Add antialiasing filters (FXAA, SSAA) (''x2048'')
 +
* Reverse eye-offset Z-coordinate in 3rd person front view (''lhofhansl'')
 +
* DPI-aware crosshair (''grorp'')
 +
* Prevent early respawns caused by up/down button in the death screen (''srifqi'')
 +
* Sounds and animations are now paused in pause menu in singleplayer (''DS'')
 +
* Android: Place nodes with single tap (''grorp'')
 +
* Android: Higher default graphics settings (''grorp'')
 +
* Android: Auto-detect locale (''grorp'')
 +
* Android: ignore broken language files (''srifqi'')
 +
* X11 (Linux): Add primary selection (copy & paste via select & middleclick) support (''DS'')
 +
 
 +
=== World / Server / Environment ===
 +
* Major speedup for crafting shapeless craft recipes (Hocroft-Karp algorithm) (''DS'')
 +
* Fix crash on handling wallmounted nodes with invalid param2 (''savilli'')
 +
* Fix biomes not repecting their Y limits (''Radar6255'')
 +
** Especially thin biomes will now be generated as intended.
 +
* Saner (HTTP) timeout limits and log messages (''sfan5'')
 +
 
 +
=== Script API / Modding ===
 +
* Reading/defining initial object properties directly from an entity definition is deprecated; they should be moved to <code>initial_properties</code>
 +
* Add ability to override item images using ItemMetaData (''rubenwardy'')
 +
* Add node pos to node damage HP change reason (''Radar6255'')
 +
* Add <code>vector.in_area()</code> utility function (''AFCMS'')
 +
* Add focused styling to buttons (''rubenwardy'')
 +
* Add min/max protocol version to <code>minetest.get_version()</code> (''BuckarooBanzay'')
 +
* Add additional texture modifiers (''Treer'')
 +
* Add node group <code>disable_descend</code> to disable actively descending down climbable nodes and nodes with liquid move physics (''Wuzzy'')
 +
* Add <code>VoxelArea::intersect()</code> (''sfan5'')
 +
* Allow nodes to have their <code>post_effect_color</code> affected by lighting (''grorp'')
 +
* Fix potential freeze in <code>core.check_for_falling</code> (''savilli'')
 +
* Send everlasting particle spawners to all players (''chmodsayshello'')
 +
* Allow <code>place_param2 = 0</code> node placement predictions (''SmallJoker'')
 +
* New player physics overrides for climb speed, sneak speed, acceleration, liquid fluidity and liquid sink speed (#11465) (''Wuzzy'')
 +
* Allow to set custom third person front view camera offset (''grorp'')
 +
* Add script to update/generate mod translations: <code>util/mod_translation_updater.py</code> (''Wuzzy'')
 +
** See <code>util/README_mod_translation_updater.md</code> for details
 +
* Add <code>start_time</code> to sound parameter tables (part of #12764) (''DS'')
 +
 
 +
=== Misc / Maintenance ===
 +
* Entity/Object fixes and unittests (''numberZero'')
 +
* Lua environment cleanups and improvements (''sfan5'')
 +
* Various documentation improvements (''Zughy'', ''Wuzzy'')
 +
* Inventory code fixes (''SmallJoker'', ''DS'')
 +
* Many various code fixes (''sfan5'', ''grorp'', ''srifqi'')
 +
* Opt-out option for Doxygen generation on build (''nerzhul'')
 +
* Sound code cleanups and improvements (#12764) (''DS'')
 +
** Long sounds in sound packs, or sent via dynamic media, no longer cause client freezes on load
 +
** Positional sounds can be faded now
 +
** Documentation
 +
** Other improvements listed elsewhere
 +
* Faster client load times (#12764 and irr#233) (''DS'')
 +
 
 +
=== Minetest Game ===
 +
 
 +
* '''Minetest Game is no longer the default game and no longer installed by default'''
 +
* New water textures (the old ones were [https://github.com/minetest/minetest_game/issues/3051 non-free]) (''Lopano'')
 +
* Improve leaves textures in "Opaque Leaves" mode (''Wuzzy'')
 +
* When a player dies in protected air, bones now spawn as a block instead of dropping as an item (''OgelGames'')
 +
* Add API for sapling growth (''aegroto'')
 +
* Hook callbacks for <code>default.set_inventory_action_loggers</code> (''appgurueu'')
 +
* Fix logic error in bed rotation (''fluxionary'')
 +
* Fix coral and kelp duplication glitch with sticky piston from Mesecons mod (''zmv7'')
 +
* Fix players being able to skip many nights at once by spam-clicking bed (''appgurueu'')
 +
* Fix not updating vessel shelf infotext (''Niklp'')
 +
* Fix bookshelf infotext not updating when adding, removing or moving items inside (''Montandalar'', ''appgurueu'')
 +
* Update translations: German (''Wuzzy''), Spanish (''David Leal''), Ukrainian (''Andriy''), French (''xin'')
 +
 
 +
==  5.6.0 → 5.7.0 ==
 +
 
 +
Released on 8 April 2023
 +
 
 +
=== Deprecations and compatibility notes ===
 +
* The default key for pitchmove was removed. Specify a key manually to use this feature.
 +
** See https://github.com/minetest/minetest/pull/13319 for details
 +
* Special handling of <code>${key}</code> syntax in metadata values are deprecated
 +
** See https://github.com/minetest/minetest/pull/12970 for details
 +
* Worlds with unresolved dependencies can no longer be loaded. This ensures that the specified mods are loaded properly.
 +
** See https://github.com/minetest/minetest/pull/12542 for details
 +
* The default key for (un)limited range was removed. Specify a key manually to use this feature.
 +
** See https://github.com/minetest/minetest/pull/12632 for details
 +
* Development Test is no longer being distributed in official Minetest releases
 +
** This was never meant for players to begin with, this “game” is exclusively meant for engine development
 +
** To get it back, build Minetest from source code (recommended) or download Development Test from [https://content.minetest.net/packages/Minetest/devtest/ ContentDB]
 +
 
 +
=== Client / Audiovisuals ===
 +
* Fix main menu error when submitting invalid port numbers (''GoodClover'')
 +
* Fix ChatPrompt crash in very narrow windows (''DS'')
 +
* Fix missing shadows when sun tilt is zero (''x2048'')
 +
* Android: Make OpenGLES 2 the default driver (''ROllerozxa'')
 +
* 8x block meshes for improved performance (''x2048'')
 +
** Configuration options and bugfixes (''lhofhansl'', ''x2048'')
 +
* Decrease minimum for repeat_place_time (''DS'')
 +
* Fix Enter key after creating a new world (''srifqi'')
 +
* Improve chat history (''TurkeyMcMac'')
 +
* Add dynamic exposure correction (''x2048'')
 +
** This is also configurable by the Lua API
 +
* Improve the occlusion culling algorithm (i.e. better efficiency) (''x2048'')
 +
* Use multiple threads for mesh generation (i.e. faster rendering) (''x2048'')
 +
* Removed pageflip 3D mode (because broken) (''ROllerozxa'')
 +
* Fix progress bar look on HiDPI displays (''kilbith'')
 +
* Fix <code>plantlike_rooted</code> world-aligned node base textures (''TurkeyMcMac'')
 +
* Fix issues caused by attached node placement prediction (''TurkeyMcMac'')
 +
* Avoid shadow flicker at certain angles (''x2048'')
 +
* Chat: fix the unicode characters crowded together on prompt (''snowyu'')
 +
* Take geographic distance into account for server list ordering (''sfan5'')
 +
* Fix sneaking on nodes with large collision boxes (''SmallJoker'')
 +
* Faster light calculations for rendering (''TurkeyMcMac'')
 +
* Android: Improve double-tap for jump detection (''srifqi'')
 +
* Add Bloom shader (''x2048'')
 +
* Restore and enhance bouncy behavior (''pecksin'')
 +
** Bouncy nodes now let you control the jump height with the jump/sneak keys
 +
* Fix <code>liquid</code> drawtype faces sometimes not rendering (''Wuzzy'')
 +
* Apply DPI Scaling to the main menu (''ElliottLester'')
 +
* Improve shadow updates efficiency (''x2048'')
 +
* Textures: introduce world-align overrides (''SmallJoker'')
 +
* Fix crash when stars are reset (''Zughy'')
 +
 
 +
=== World / Server / Environment ===
 +
* Reduce server CPU consumed by occlusion culling (''lhofhansl'')
 +
* Improve loaded block handling (i.e. better efficiency) (''lhofhansl'')
 +
* Fix <code>/help</code> privs checks (''TurkeyMcMac'')
 +
* Add mod storage PostgreSQL backend (''TurkeyMcMac'')
 +
* Update floating nodes when liquid underneath vanishes (''TurkeyMcMac'')
 +
* Add zstd compression support to API function (''20kdc'')
 +
 
 +
=== Script API / Modding ===
 +
* Server: Fix error caused by sending too long chat messages (''SmallJoker'')
 +
* Correct handling of leftover items in <code>core.item_eat</code> (''DS'')
 +
* Various lua_api.txt clarifications and fixes (''Wuzzy'', ''jordan4ibanez'', ''kab0u'', ''veprogames'', ''aerkiaga'', ''DS'')
 +
* Improve <code>minetest.close_formspec</code> server-side safety (''luk3yx'')
 +
* Handle nodes changed within another LBM and ABM loop (''TurkeyMcMac'')
 +
* Fix segfault caused by invalid PNG data in <code>[png:</code> (''SmallJoker'')
 +
* Add <code>minetest.get_player_window_information()</code> (''rubenwardy'', ''DS'' (bugfix))
 +
* Make <code>body_orbit_tilt</code> configurable (''sofar'')
 +
* Add chat HUD flag (#13189) (''GreenXenith'')
 +
* Improve <code>MetaDataRef:{get,set}_float</code> precision (''TurkeyMcMac'')
 +
* Fix error caused by an empty separator for <code>string.split</code> (''TurkeyMcMac'')
 +
* Add <code>player:set_lighting( {saturation = float} )</code> (''lhofhansl'')
 +
* Add callback <code>on_mapblocks_changed</code> (''TurkeyMcMac'')
 +
* Improved Lua error handling (''TurkeyMcMac'')
 +
* Expose <code>dtime_s</code> to LBM handler (''sfan5'')
 +
* Let mods choose a forceload limit (''TurkeyMcMac'')
 +
* Add <code>minetest.get_mapgen_edges</code> (''TurkeyMcMac'')
 +
* Add <code>minetest.get_game_info</code> and allow reading game.conf (''TurkeyMcMac'')
 +
* Add support for facedir/4dir nodes to be attached with <code>attached_node</code> (''Wuzzy'')
 +
* Add additional <code>attached_node</code> options: always attach to ceiling, always attach to floor (''Wuzzy'')
 +
* Fix errors caused by schematic reading (''TurkeyMcMac'')
 +
* Fix <code>set_nametag_attributes</code> resetting the text in subsequent calls (''snowyu'')
 +
* game.conf: Add setting to use volatile a map backend (''SmallJoker'')
 +
* Allow rotating entity selectionboxes (''appgurueu'')
 +
* Add VoxelArea() constructor for easier use (''TurkeyMcMac'')
 +
* Fix formspec focus issue caused by empty element names (''DS'')
 +
* Faster vector, node and content ID access when using LuaJIT (''TurkeyMcMac'')
 +
* Speed up find_nodes_in_area (''TurkeyMcMac'')
 +
* Add an item pick up callback (''DS'')
 +
* Implement tool use sounds (''sfan5'')
 +
* Fix inconsistent craft replacement behavior (''Wuzzy'')
 +
* Fix potential error in craft recipes (''savilli'')
 +
* Add paramtype2s <code>4dir</code> and <code>color4dir</code> for 4 horizontal rotations and 64 colors (''Wuzzy'')
 +
* Bugfix: Allow looped animation to be used safely with old clients (''sfan5'')
 +
* Reassure previous nil behaviour for <code>tiles</code> and <code>special_tiles</code> (''Zughy'')
 +
* Add buffer argument to <code>VoxelManip:get_light_data</code> (''TurkeyMcMac'')
 +
* Fix crash when crafting callbacks return strings (''Zughy'')
 +
 
 +
=== Misc / Maintenance ===
 +
* Fix crash while exiting to the main menu on macOS (''x2048'')
 +
* Rendering code cleanups (''x2048'')
 +
* Fix occasional black screen on startup (''x2048'')
 +
* Android: Build and logging improvements (''sfan5'')
 +
* Improve installation instructions (''lynx197'', ''sofar'', ''tamara-schmitz'')
 +
* Various code cleanups and optimizations (''sfan5'', ''ROllerozxa'', ''nerzhul'', ''GermanAizek'')
 +
* Implement --debugger option to improve UX when debugging crashes (''sfan5'')
 +
* Various Development Test changes
 +
** Many, many additions and improvements (''Wuzzy'')
 +
** Add jukebox and branding iron (''DS'')
 +
* Development Test is no longer officially distributed with Minetest releases
 +
* Android: various maintenance and fixes (''srifqi'')
 +
* Unittest improvements (''Wuzzy'', ''TurkeyMcMac'', ''rubenwardy'')
 +
 
 +
=== Minetest Game ===
 +
* Limit and sanitize formspec fields (''appgurueu'')
 +
* Fix player_api.set_model not updating the animation (''appgurueu'')
 +
* Ensure chests close properly (''fluxionary'')
 +
* Ensure proper creative hand override (''AntumDeluge'')
 +
* Fix error if /home is executed with an invalid name (''zmv7'')
 +
* Fix wall craft registrations (''alek13'')
 +
* Screwdriver: 4dir node support (''Wuzzy'')
 +
 
 +
== 5.6.0 → 5.6.1 ==
 +
Released on 19 September 2022.
 +
 
 +
=== Client / Audiovisuals ===
 +
* Fix tooltips for dropdown, scrollbar and more (''Desour'')
 +
* Allow the comma as clickable URL component (''pecksin'')
 +
* Correct the entity glow calculation (''x2048'')
 +
* Get the setting <code>texture_min_size</code> to work again (''fluxionary'')
 +
* Scale hardcoded/integrated GUIs with the system-reported DPI (''ElliottLester'')
 +
* Overwriting a package via "Content" no longer triggers an error (''rubenwardy'')
 +
 
 +
=== World / Server / Environment ===
 +
* Fix potential use-after-free with item metadata (''TurkeyMcMac'')
 +
* Compatibility patch to not freeze older clients due to negative "frame_length" Tile Animation values (''sfan5'')
 +
* Dynamic shadows performance improvement by delaying non-urgent mapblocks (''x2048'')
 +
 
 +
=== Script API / Modding ===
 +
* Fix several crashes caused by <code>clear_craft</code> in combination with aliases (''savilli'')
 +
* Serialization: Restore (full) pre-5.6.0 compatibility (''appgurueu'')
 +
* LuaJIT: Workaround to allow larger serializations (''appgurueu'')
 +
* Enforced hp_max > 0 for entities (''appgurueu'')
 +
* Node Definition "tiles" and "special_tiles" again default to <code>nil</code> when not specified (''Zughy'')
 +
* Allow <code>minetest.register_on_craft</code> to return strings (was: ItemStack) (''Zughy'')
 +
* <code>ObjectRef:set_stars</code> to reset the stars no longer throws an error (''Zughy'')
 +
 
 +
=== Misc / Maintenance ===
 +
* x86 Android build fixes (''savilli'')
 +
 
 +
== 5.5.0 → 5.6.0 ==
 +
Released on 4 August 2022
 +
 
 +
=== Deprecations and compatibility notes ===
 +
* <code>name</code> in game.conf is deprecated for the game title
 +
** For specifying the game title from now on, use <code>title</code> instead
 +
 
 +
=== Client / Audiovisuals ===
 +
* Dynamic shader-based shadows for: nodes, entities, wield (''x2048'')
 +
** Includes many, many bugfixes and improvements (tuning, performance)
 +
* Fixed statbar HUD background scaling and numbering (''appgurueu'')
 +
* Apply texture pack main menu textures immediately (''ROllerozxa'')
 +
* Fix footsteps for players whose collision box min y != 0 (''grorp'')
 +
* Add depth sorting for node faces (''x2048'')
 +
** This fixes appearance issues when looking through multiple semi-transparent nodes.
 +
** This works only up to a distance of 16 nodes by default. Use the <code>transparency_sorting_distance</code> setting to adjust this
 +
* Optimize swapping nodes with equivalent lighting (''TurkeyMcMac'')
 +
* Fix item entity Z-fighting (''appgurueu'')
 +
* Use mod names/titles instead of technical names to display (''GoodClover'')
 +
* Fix texture packs not showing as enabled in mainmenu (''rubenwardy'')
 +
* Debug screen now shows "<unknown node>" at the top if an unknown node is pointed (''Wuzzy'')
 +
* Enable chat clickable weblinks by default (Ctrl+Click) (''Froggo'')
 +
* HUD: Fix outdated selection boxes (''appgurueu'')
 +
* Make <code>no_screenshot</code> image more clear (''Zughy'')
 +
* Add register dialog to separate login/register (''rubenwardy'')
 +
* No damage effects on <code>hp_max</code> change (''appgurueu'')
 +
* Fix updating glow and light calculation on entities (''sfan5'')
 +
* Fix unknown nodes sometimes displaying the "no texture" instead of the "unknown node" texture (''Wuzzy'')
 +
 
 +
=== World / Server / Environment ===
 +
* Distinct mod path values in world.mt to avoid issues with duplicated mod names (''rubenwardy'')
 +
* Fix broken server startup if curl is disabled (''sfan5'')
 +
* Increase max. objects per block defaults (''appgurueu'')
 +
* Builtin: Allow to revoke unknown privileges (''SmallJoker'')
 +
* Fix some textures not being sent correctly to older clients (''Oblomov'')
 +
* Fix several registration/authentication related issues (''sfan5'')
 +
* Fix dependency enabling of mods and modpacks (''rubenwardy'', ''TurkeyMcMac'')
 +
* Fix cooking and fuel crafts with aliases (''TurkeyMcMac'')
 +
* Commands: Some numbers can be replaced or prepended with "<code>~</code>" for values relative to the current one (''Wuzzy'')
 +
** "<code>~</code>" is equivalent to "<code>~0</code>"
 +
** Supported commands: <code>/deleteblocks</code>, <code>/emergeblocks</code>, <code>/fixlight</code>, <code>/spawnentity</code>, <code>/teleport</code>, <code>/time</code>
 +
** Example: "<code>/teleport 15 ~5 ~</code>" teleports to (15, <current Y coordinate plus 5>, <current Z coordinate>)
 +
* Don't allow banning in singleplayer (''sfan5'')
 +
* Docs: Add description of privileges (''x2048'')
 +
* Increase max FPS on Android to 60 (''ROllerozxa'')
 +
* Add many limits to settingtypes + engine (''Wuzzy'', ''SmallJoker'')
 +
* Reorganise settingtypes.txt (''rubenwardy'')
 +
 
 +
=== Script API / Modding ===
 +
* Improved formspec documentation (''DS'')
 +
* Optimization: Send HUD flags only if they changed (''appgurueu'')
 +
* Allow to set the displayed item count and its alignment via item meta: <code>count_meta</code>, <code>count_alignment</code> (''DS'')
 +
* Add support for 'seed' in <code>disallowed_mapgen_settings</code> (''Wuzzy'')
 +
* List of documentation improvements:
 +
** <code>AreaStore</code> (''SmallJoker'')
 +
** Lua <code>vector</code> helper class (''sfan5'')
 +
** <code>spawn_by</code> for decorations (''Zughy'')
 +
** LBM documentation (''TurkeyMcMac'')
 +
** Overall improvements (''sfan5'')
 +
* Allow <code>get_sky</code> to return a table of all sky-related parameters (''Zughy'')
 +
* Add <code>basic_debug</code> HUD flag to control display of debug info like position in the debug screen (on by default) (''appgurueu'')
 +
* Fix memory leak from <code>SpatialAreaStore</code> (''setupminimal'')
 +
* Add function <code>ObjectRef:set_lighting()</code> to control shadow intensity from the game/mod (''x2048'')
 +
* Fix '<code>[combine</code>' when <code>EVDF_TEXTURE_NPOT</code> is disabled (''paradust7'')
 +
* <code>hud_get</code>: Return precision field for waypoint (''appgurueu'')
 +
* Add Async environment for parallelized Lua code execution (''sfan5'')
 +
** <code>minetest.handle_async</code>
 +
** <code>minetest.register_async_dofile</code>
 +
* Fix Minetest blaming the wrong mod for errors (''appgurueu'')
 +
* Deprecate game.conf <code>name</code>, use <code>title</code> instead (#12030) (''rubenwardy'')
 +
* Protect a few more settings from being set from mods (''sfan5'')
 +
* Add function <code>ObjectRef:respawn()</code> to invoke player respawn (''sfan5'')
 +
* Handle Lua entity HP changes correctly (like punches) (''sfan5'')
 +
* Add tool helper function <code>ItemStack:add_wear_by_uses()</code> to add tool wear in such a way that it has a given number of uses (''Wuzzy'')
 +
* Add <code>minetest.get_tool_wear_after_use</code> to simulate tool wear when expecting it to break after a given number of uses (''Wuzzy'')
 +
* <code>on_deactivate</code> entity callback: distinguish removal and unloading (''appgurueu'')
 +
* Remove <code>tile_images</code> and <code>special_materials</code> obsolete code (''Zughy'')
 +
* <code>set_stars</code>: Allow to set maximum star opacity at daytime with <code>day_opacity</code> (''Wuzzy'')
 +
* FormSpec: 9-slice images, <code>animated_image</code>, and <code>fgimg_middle</code> (''v-rob'')
 +
* Animated particle spawners (''velartrill'')
 +
 
 +
=== Misc / Maintenance ===
 +
Code details are intentionally omitted due to the changelog target audience's interests.
 +
 
 +
* Fix macOS compile instructions (''sfan5'')
 +
* Various C++ code cleanups and improvements (''TurkeyMcMac'', ''sfan5'', ''Oblomov'', ''SmallJoker'', ''Octavian'', ''RichardTry'', ''savilli'', ''JosiahWI'')
 +
* List of DevTest game improvements:
 +
** TGA test nodes (''ehrlemann'')
 +
** Test weapons and armorball modes (''Wuzzy'')
 +
** Nodes and items for testing overlays (''Wuzzy'')
 +
** Entity lifecycle and callbacks (''sfan5'')
 +
** Item metadata editor (''Wuzzy'')
 +
* Minetest now uses C++14
 +
* Remove direct OpenGL(ES) dependency (''sfan5'')
 +
* Compile Lua as C++ to properly catch exceptions (''TurkeyMcMac'')
 +
* Build system improvements (''sfan5'', ''ShadowNinja'', ''LoneWolfHT'')
 +
* Run automated tests when Lua files change (''x2048'')
 +
* Add JSON (de)serialization benchmarks (''paradust7'')
 +
* Performance optimizations by caching (mapblocks, collisionbox) (''sfan5'')
 +
* Add more Prometheus metrics (''sfan5'')
 +
* Add documentation to list breaking changes for the next major release (''Zughy'')
 +
* Patch built-in Lua to fix miscompile on Android (''paradust7'')
 +
* Fix BSD iconv declaration (''savilli'')
 +
* Fix Android input box crash (''ROllerozxa'')
 +
 
 +
 
 +
=== Minetest Game ===
 +
 
 +
* Improved cart movement behavior (''SmallJoker'')
 +
** Improved direction handling
 +
** Smoother-out 'end-of-rail' animation
 +
** Other improvements
 +
* Dynamic shadow intensity increases with cloud density (only has an effect if you have dynamic shadows enabled) (''lhofhansl'')
 +
* Allow mods to override player animation globalstep with <code>player_api.globalstep</code> (''LoneWolfHT'')
 +
* Log API added (''nixnoxus'')
 +
* Fix crash if player has no model (''Lars Mueller'')
 +
* Fix broken <code>get_animation</code> in <code>player_api</code> (''bell07'')
 +
* Fix furnace fire sound continuing to play after being destroyed (''Wuzzy'')
 +
* Fix TNT blowing up <code>ignore</code> nodes (''Wuzzy'')
 +
* Fix some hoes not breaking after the intended number of uses (''Wuzzy'')
 +
* Fix book duplication glitch (''appgurueu'')
 +
* Fix incorrect behavior of glass and obsidian glass if param2 was changed (''appgurueu'')
 +
* Fix cart sometimes facing the wrong way at slopes (not a 100% perfect bugfix tho) (''SmallJoker'')
 +
* New translation: Polish (''mrubax10'')
 +
* Translation updates: Ukrainian (''baytuch''), Russian (''baytuch''), German (''Wuzzy''), Lojban (''Wuzzy''), Esperanto (''quarthex'')
 +
 
 +
== 5.5.0 → 5.5.1 ==
 +
Released on 15 May 2022.
 +
 
 +
=== World / Server / Environment ===
 +
 
 +
* Fix server crash due to duplicate user registrations (''sfan5'')
 +
* Fix cooking and fuel crafts with aliases (''Jude Melton-Houghton'')
 +
* Fix some textures not being sent correctly to older clients (''Giuseppe Bilotta'')
 +
* Fix broken server startup if curl is disabled (''sfan5'')
 +
* Fix password changing getting stuck if wrong password is entered once (''sfan5'')
 +
* Apply disallow_empty_password to password changes too (''sfan5'')
 +
 
 +
=== Client / Graphics ===
 +
 
 +
* Fix various issues with Select Mods and Content (''rubenwardy'', ''Jude Melton-Houghton'', ''Alex'')
 +
* ContentDB: Fix ungraceful crash on aliases when list download fails (''rubenwardy'')
 +
* Fix performance issue due to hardware buffer counters (''paradust7'')
 +
* HUD: Update selection highlight every frame to avoid glitches (''Lars Müller'')
 +
* Fix '[combine' when EVDF_TEXTURE_NPOT is disabled (''paradust7'')
 +
* Fix footsteps for players whose collision box min y != 0 (''Gregor Parzefall'')
 +
* Fix undefined behavior in TileLayer (''Daroc Alden'')
 +
* Use absolute value for bouncy in collision (''pecksin'')
 +
* Fix builtin statbar backgrounds (''Lars Mueller'')
 +
 
 +
=== Misc ===
 +
 
 +
* Fix possible unreliable behavior due to uninitialized variables (''Octavian'')
 +
* Fix Minetest blaming the wrong mod for errors (''Lars Müller'')
 +
* Fix some memory leaks (''SmallJoker'', ''Daroc Alden'', ''Daroc Alden'')
 +
 
 +
=== Minetest Game ===
 +
 
 +
* player_api mod: Fix crash if player has no model (''appgurueu'')
 +
* player_api mod: Mods can now override globalstep by overriding player_api.globalstep (''LoneWolfHT'')
 +
* Shadow intensity (of dynamic shadows) changes with weather (''lhofhansl'')
 +
* Some cart movement behavior fixes (''SmallJoker'')
 +
* Fix some translations in uk and ru locales (''baytuch'')
 +
 
 +
== 5.4.0 → 5.5.0 ==
 +
Released on 30 Jan 2022.
 +
 
 +
=== Deprecations and compatibility notes ===
 +
 
 +
* FORMSPEC_API_VERSION is now 5
 +
* New maps are now zstd compressed to reach faster and/or more efficient compression
 +
* Switched to our own fork of the rendering engine: IrrlichtMT
 +
** Removed support for DirectX
 +
** Dropped support for obscure and undocumented file formats: pcx, ppm, psd, wal, and rgb
 +
* Modding: Missing "mod.conf" is now deprecated. Results in warnings (''rubenwardy'')
 +
** Add mod.conf with name = yourmodname
 +
* Modding: depends.txt and description.txt are now deprecated
 +
** Specify dependencies using "depends" and "optional_depends" in mod.conf
 +
** Specify description using "description" in mod.conf
 +
* Modding: Creating vectors like this: <code>{x=1, y=2, z=3}</code> is now deprecated
 +
** Use <code>vector.new</code> instead
 +
* Bitmap fonts are no longer supported
 +
** Use TTF fonts instead
 +
 
 +
=== Features: General ===
 +
 
 +
* Add game name to server status string (''sfan5'')
 +
* Improve TTF support for pixel-style fonts (''v-rob'')
 +
* Joystick support for DragonRise GameCube controller (''Izzette'')
 +
* Add "<code>MINETEST_MOD_PATH</code>" environment variable (''emixa-d'')
 +
* Touch UI support for desktop builds (#10729) (''TheBrokenRail'')
 +
* Switch MapBlock compression to zstd (''lhofhansl'')
 +
* Joystick sensitivity for player movement (''NeroBurner'') + fixes (''sfan5'')
 +
* Gettext support on Android (''Pevernow'')
 +
* Make web links in chat clickable (Feature disabled by default, use setting <code>clickable_chat_weblinks</code>) (''pecksin'')
 +
* Add a key to toggle display map block boundaries (F8 by default) (''grapereader'')
 +
* Improved wording of various chat command outputs (''Wuzzy'')
 +
* Normal texture support (for minimap shading) (again) (''numberZero'')
 +
* Scale mouse/joystick sensitivity depending on FOV (''Elias Åström'')
 +
* Various DevTest game additions and improvements (''Wuzzy'')
 +
* Chat commands: Show the execution time if the command takes a long time (''HybridDog'')
 +
* Improved item placement prediction (''sfan5'')
 +
* Anticheat: Faraway inventory access protection (''SmallJoker'')
 +
* Pause animations while game is paused (''numberZero'')
 +
 
 +
=== Features: Main menu and ContentDB ===
 +
 
 +
* Chop game background in mainmenu (''appgurueu'')
 +
* ContentDB: Add support for package aliases / renaming (''rubenwardy'')
 +
* Improved "Join Game" tab (''sfan5'')
 +
* Builtin function translation (''Wuzzy'', ''Zughy'')
 +
* Translation support for the builtin functions (''Wuzzy'', ''snowyu'') + updates (''Wuzzy'', see CONTRIBUTING file)
 +
* Handle modpacks containing modpacks properly (''Elias Fleckenstein'')
 +
* Texture pack toggle by double clicking (''Yaman Qalieh'')
 +
 
 +
=== Features: Modding ===
 +
 
 +
* Sky API: Reset by empty arguments (''Zughy'')
 +
* Use a database for mod storage (internal) + CSM auto-migration (''TurkeyMcMac'')
 +
* Add padding[] element to formspecs (#11821) (''v-rob'')
 +
* Disable inventory if player's inventory formspec is blank (''ROllerozxa'')
 +
* Add minetest.disconnect_player (''Corey Powell'')
 +
* Add Lua bitop library (''Lejo'')
 +
* Allow for game-specific menu music (''ExeVirus'')
 +
* Add minetest.rmdir, minetest.cpdir and minetest.mvdir (''octacian'')
 +
* Add no_texture.png as fallback for unspecified textures (''Wuzzy'')
 +
* Add minetest.get_server_max_lag() (''Wuzzy'')
 +
* Split node field 'liquid_viscosity' into two: liquid_viscosity (how fast liquid flows) and move_resistance (how much it slows players) (''Wuzzy'')
 +
* Improved dynamic_add_media functionality (''sfan5'')
 +
* Add group-based tool filtering for node drops (''Treer'')
 +
* Add disable_settings to game.conf to get rid of "Enable Damage"/"Creative Mode"/"Host Server" checkboxes (''Df458'')
 +
* Add a simple PNG image encoder with Lua API + texture modifier <code>[png</code> (''hecks'')
 +
* Add bold, italic and monospace font styling for HUD text elements (''sfan5'')
 +
* Add wallmounted support for plantlike and plantlike_rooted nodes (''Wuzzy'')
 +
* Add API for mods to hook liquid transformation events (''Warr1024'')
 +
* Add min_y and max_y checks for Active Block Modifiers (ABM) (''sfence'')
 +
* Add metatables to Lua vectors (''DS'')
 +
* Add minetest.compare_block_status function (''SmallJoker'')
 +
* Add minetest.colorspec_to_colorstring (''v-rob'')
 +
* Put torch/signlike node on floor if paramtype2=="none" (''Wuzzy'')
 +
* Return ObjectRef from minetest.spawn_falling_node() (''benrob0329'')
 +
* Modifyable player fall damage via armor group (''Wuzzy'')
 +
* Add vector.to_string and vector.from_string (#10323) (''DS'')
 +
* Add math.round and fix vector.round (''v-rob'')
 +
* Degrotate support for mesh nodes (''numberZero'') + fixes (''sfan5'', ''Wuzzy'')
 +
* lua_api.txt: Fix style selector examples (''Df458'')
 +
* Nested Settings are now also contained in to_table (''SmallJoker'')
 +
 
 +
=== Bugfixes ===
 +
 
 +
* Fix Minetest logo when installed system-wide (''ROllerozxa'')
 +
* Cancel emerge callbacks on shutdown (''TurkeyMcMac'')
 +
* Free arguments of cancelled minetest.after() jobs (''sfan5'')
 +
* Fix damage wraparound if very high damage (''Wuzzy'')
 +
* Cap damage overlay duration to 1 second (''Wuzzy'')
 +
* Rendering fixes: Add more neighbors on mesh update (''numberZero'')
 +
* Don't let HTTP API pass through untrusted function (''sfan5'')
 +
* Fix URL escaping in content store (''sfan5'')
 +
* Fix find_nodes_in_area misbehaving with out-of-map coordinates (''sfan5'')
 +
* Minimap: gamma-correct average texture colour calculation (''HybridDog'')
 +
* Fix item duplication if player dies during interact callback (''sfan5'')
 +
* View bobbing fixes (''appgurueu'')
 +
* Fix player HP desync between client and server (''savilli'')
 +
* Rendering fixes: Order drawlist by distance to the camera (''x2048'')
 +
* Fix crash when .conf release field is invalid (''rubenwardy'')
 +
* Performance: Fix client-side performance of chat UI (''DS'')
 +
* Fix HUD multiline text alignment (''appgurueu'')
 +
* Send correct updates to clients after node metadata clear (''TurkeyMcMac'')
 +
* Remove redundant on_dieplayer calls (''savilli'')
 +
* Fix 6th line of infotext being cut off in half (''Wuzzy'')
 +
* Validate staticdata and object property length limits (''sfan5'')
 +
* Fix scaled world-aligned textures being aligned inconsistently for non-normal drawtypes (''Wuzzy'')
 +
* Various lua_api.txt corrections and improvements (''Df458'', ''random-geek'', ''Wuzzy'', ''Francisco'', ''Zughy'')
 +
* Run on_grant and on_revoke callbacks after privs change (''AFCMS'')
 +
* Fix base64 validation and add unittests (''appgurueu'')
 +
* Fix cloud fog being broken for high clouds (''Wuzzy'')
 +
* Attachments: various bugfixes (''SmallJoker'')
 +
* Rendering engine fxes and cleanups (''nerzhul'')
 +
* Multiple OpenGL ES fixes (''sfan5'')
 +
* Make edit boxes respond to string input (IME) (''yw05'')
 +
* cURL timeout fixes and increased default timeout (''sfan5'')
 +
* Fix wield image of plantlike_rooted (''Wuzzy'')
 +
* Fix attached-to-object sounds volume (''Desour'')
 +
* Fix segfault for model[] without animation speed (''kilbith'')
 +
* Crash fix when models fail to load (''sfan5'')
 +
* Access protections for per-player detached inventories (''SmallJoker'')
 +
* mg_name and mg_flags can no longer be set by Lua (minetest.conf) (''sfan5'')
 +
* Interlaced 3D mode fixes (''srifqi'')
 +
* Fix hud_change and hud_remove functionality after hud_add calls (''savilli'')
 +
* Fix number of times a tool can be used before breaking being off by a number between 1 and 32767 (''Wuzzy'')
 +
* Various stability fixes (server and client crashes)
 +
 
 +
=== Maintenance ===
 +
 
 +
* Rendering improvements: use dedicated GPU, improve frame calculations (''sfan5'')
 +
* Fully remove bitmap font support (use TTF now) (''sfan5'')
 +
* Restore GCC 5 compatibility (''JosiahWI'')
 +
* Remove creative/damage info in Esc/Pause menu (''Wuzzy'')
 +
* Update to Android target SDK 30 (''rubenwardy'')
 +
* Add macOS build docs (''andkerr'')
 +
* Android: Use scoped app storage (''rubenwardy'')
 +
* Make /status message easier to read (''Wuzzy'')
 +
* Clean up/improve some scriptapi error handling code (''sfan5'')
 +
* Add hint to error message on how to build with in-tree Irrlicht (''20kdc'')
 +
* Optimize vector length calculations (''Lean Rada'')
 +
* Remove hardcoded "You died." message in chat (''Wuzzy'')
 +
* Remove unsupported video drivers (''hecks'')
 +
* Document hypertext formspec element escaping (''Wuzzy'')
 +
* Drop --videomodes, fullscreen_bpp and high_precision_fpu settings (''sfan5'')
 +
* PostgreSQL fixes and improved error messages (''sfan5'')
 +
* Improved liquid documentation (''Wuzzy'')
 +
* Improved mipmapping-related code (''sfan5'')
 +
* Rendering engine was changed from Irrlicht to [[IrrlichtMt]] (Minetest's fork of Irrlicht) (''sfan5'')
 +
* Performance: Draw items as 2D images (instead of meshes) when possible (''sfan5'')
 +
* Sanity check: Block & report player self-interaction (''appgurueu'')
 +
* Multiple font code cleanups and improvements (''sfan5'')
 +
* IrrlichtMt switch related fixups (''kilbith''. ''sfan5'', ''nerzhul''))
 +
* Performance improvements during media/mesh loading (''sfan5'')
 +
* Json is now taken from the system by default (''sfan5'')
 +
* Various build bot and setup changes (''sfan5'')
 +
* Restructured "/teleport" command (''HybridDog'')
 +
* Consistent Aux1 key naming (''Wuzzy'')
 +
* Many many internal cleanups and fixes (''sfan5'', others)
 +
 
 +
=== Minetest Game ===
 +
* Add “Read” and “Write” tabs to book interface when you own the book (''orbea'')
 +
* Allow to write books without text or title (''orbea'')
 +
* Make identical keys stackable (''Luis Royer'')
 +
* Fix creative inventory trash slot not working for player named “trash” (''Montandalar'')
 +
* Fix sunlight propagation for glass stair/slab (''An0n3m0us'')
 +
* Fix glass bottle with firefly not being placable in vessels shelf (''An0n3m0us'')
 +
* Other bugfixes
 +
* Translations: Esperanto (''Jason Cartwright''), Russian (''ptah-alexs''), Japanese (''nogajun''), German (''Wuzzy''), Slovak (''Daretmavi''), French (''Olivier Dragon''), Swedish (''ROllerozxa''), Chinese (''雷哲翰''), Ukrainian (''baytuch'')
 +
 
 +
== 5.3.0 → 5.4.0 ==
 +
 
 +
Released on 23 Feb 2021.
 +
 
 +
=== Deprecations and compatibility notes ===
 +
 
 +
* Removed support for bumpmapping, generated normal maps, and parallax occlusion (''Lars'', ''hecks'')
 +
** These features had fundamental issues, several bugs, and were broken on some platforms.
 +
* Deprecated node field value: <code>use_texture_alpha = true/false</code>
 +
** Fix: Use <code>"clip"</code>, <code>"blend"</code> or <code>"opaque"</code> (see documentation)
 +
* Deprecated <code>get_player_velocity</code> and <code>add_player_velocity</code> (''rubenwardy'')
 +
** Fix: replace with <code>get_velocity()</code> and <code>add_velocity()</code>
 +
* Deprecated multiply and divide with two vectors (Schur product and quotient) (''DS'')
 +
** Fix: implement your own version
 +
* By default, the crosshair will now change to an "X" when pointing to objects. If your game had a custom crosshair, this might come as a surprise and break graphical consistency.
 +
** Fix: Specify object_crosshair.png image
 +
* Added deprecation warning for node field: <code>alpha</code> (only limited compatibility provided)
 +
** This was already deprecated and undocumented.
 +
** Fix: Replace by <code>use_texture_alpha</code>
 +
* Fixed deprecation warning when certain ores types ("sheet", "puff", "blob" and "vein") are missing noise_params (''rubenwardy'')
 +
** These ore types require noise_params. To keep the same behaviour, you can use the following values:
 +
 
 +
<pre>
 +
noise_params = {
 +
    offset  = 0,
 +
    scale  = 1,
 +
    spread  = {x=250, y=250, z=250},
 +
    seed    = 12345,
 +
    octaves = 3,
 +
    persist = 0.6,
 +
    lacunarity = 2,
 +
    flags = "defaults",
 +
}
 +
</pre>
 +
 
 +
=== Features ===
 +
 
 +
==== General ====
 +
 
 +
* Make 'place' and 'dig' keys freely configurable (only via minetest.conf for now: <code>keymap_place</code> and <code>keymap_dig</code>) (''ANAND'', ''Markus Koch'')
 +
* Freely bindable mouse buttons (only via minetest.conf for now: <code>KEY_LBUTTON</code>, <code>KEY_MBUTTON</code>, <code>KEY_RBUTTON</code>) (''ANAND'', ''Markus Koch'')
 +
* Add 'ores' global mapgen flag (''Paramat'')
 +
* Mapgen Flat: Add caverns, disabled by default (''Paramat'')
 +
* Semi-transparent background for nametags (''Zughy'', ''rubenwardy'')
 +
* Disable object selectionboxes by default (''LoneWolfHT'')
 +
* Change crosshair when pointing to objects ("X" shape by default) (''LoneWolfHT'')
 +
* Shaders for Android (GLES 2) (''Vitaliy'')
 +
* Load media from subfolders (''DS'')
 +
* Allow configuring block disk and net compression. Change default disk level. (''Lars'')
 +
 
 +
==== Main menu and ContentDB ====
 +
 
 +
* ContentDB: Add dependency resolution, update all, and download queues (''rubenwardy'')
 +
* ContentDB: Add overwrite dialog when content is already installed (''rubenwardy'')
 +
* ContentDB: Use icons for buttons (''Zughy'')
 +
* Add open user data button to main menu (''rubenwardy'')
 +
* Main menu: Add clear button and icon for search input (''Andrey'')
 +
* Improve layout of main menu 'local' tab (''Paramat'')
 +
 
 +
==== Modding: GUI (Formspecs) / HUD ====
 +
 
 +
* Add sound effect style option (''Pierre-Yves Rollo'')
 +
* Add 3d model formspec element (''Jean-Patrick Guerrero'', ''SmallJoker'', ''Thomas--S'')
 +
* Add minimap and compass HUD elements (''Pierre-Yves Rollo'', ''Jean-Patrick Guerrero'')
 +
* Make bgcolor tint button background images (''Hugues Ross'')
 +
* Add gradients and borders to FormSpec boxes (''v-rob'')
 +
* Add font styling options (''v-rob'')
 +
* Add set_focus[] to initially focus elements (''v-rob'')
 +
* Make dropdowns optionally return event based on index, not value (''v-rob'')
 +
* Avoid drawing clipped out formspec elements (''EvidenceB'')
 +
* Darken tabheader background color (''Kezi'')
 +
* Add inventory list styling: spacing, slot size, and noclip (''v-rob'')
 +
* Add support for custom object crosshair image: object_crosshair.png (''LoneWolfHT'')
 +
 
 +
==== Modding: Other ====
 +
 
 +
* Add support for showing attached objects whilst in first person mode (''Jordach'')
 +
* Add ability to cancel a minetest.after call after it was started (''tenplus1'')
 +
* Add on_rightclickplayer callback (''sorcerykid'')
 +
* Add on_deactivate callback for luaentities (''hecks'')
 +
* Add minetest.get_objects_in_area (''Elias Fleckenstein'')
 +
* Add ObjectRef:get_children() (''Zughy'')
 +
* Add a short_description to be used by mods (''DS'')
 +
* Add minetest.get_artificial_light and minetest.get_natural_light (''HybridDog'')
 +
* Add register_on_chatcommand to SSM and CSM (''Elijah Duffy'')
 +
* Add vector.offset (''DS'')
 +
* Register missing get_texture_mod function (''karamel59'')
 +
* content_cao: Support texture animation for upright_sprite (''sfan5'')
 +
* Add PUT and DELETE request + specific method value to HTTP API (''Lejo'')
 +
* Nodes are now allowed to have the "liquid" or "flowingliquid" drawtype for non-liquids (liquidtype=none) (''Wuzzy'')
 +
* Play 'place_failed' sound if trying to place a node into an occupied space or it was an "attachable" node that failed to attach (''Wuzzy'')
 +
* Implement grouped mode for find_nodes_in_area (''sfan5'')
 +
* Clean up sound_fade (''hecks'')
 +
* Chat commands: Show help message if func returns false without message (''HybridDog'')
 +
* Node use_texture_alpha field supports now 3 modes "blend", "clip" and "opaque" (deprecated true/false values)
 +
 
 +
=== Other enhancements and maintenance ===
 +
 
 +
* Cross-reference the node level manipulation functions (''Oblomov'')
 +
* Update fallback fonts and mark additional locales as broken (''sfan5'')
 +
* Clean up l_object.cpp (''Zughy'')
 +
* Devtest: Improve various things (''Paramat'', ''HybridDog'', ''Wuzzy'')
 +
* Android: Add CI with saving artifacts (''Maksim'')
 +
* Add NetBSD cpu affinity support code (''David CARLIER'')
 +
* Android: drop simple MainMenu (''Maksim'')
 +
* Add support for Haiku OS (''David CARLIER'')
 +
 
 +
=== Bug fixes ===
 +
 
 +
==== Security ====
 +
 
 +
* Prevent players accessing inventories of other players (''Lars Müller'')
 +
* Inventory: Protect Craft and Drop actions (''SmallJoker'')
 +
* Prevent interacting with items out of the hotbar (''Lejo'')
 +
* Fix inventory swapping not calling all callbacks (''Lars Müller'')
 +
* Patch fast/teleport vulnerability when attached to an entity (''Elias Fleckenstein'')
 +
* Prevent games from setting secure settings (''rubenwardy'')
 +
* Prevent players from being able to modify ItemStack meta (''luk3yx'', ''rubenwardy'')
 +
 
 +
==== Other ====
 +
 
 +
* Fix dropped craftitems/tools not using light_source values (''LoneWolfHT'')
 +
* Fix when on_player_hpchange is called (''SmallJoker'')
 +
* Use JSON for favorites list, fixing many bugs (''rubenwardy'')
 +
* Fix hypertext and textarea elementing consuming scroll events (''v-rob'')
 +
* Fix ESC in error dialog from closing Minetest (''Yaman Qalieh'')
 +
* Remove null bytes from TOCLIENT_BLOCKDATA (''luk3yx'')
 +
* Load system-wide texture packs too (''Zughy'')
 +
* Fix Android support in bump version script (''rubenwardy'')
 +
* ContentDB: Ignore content not installed from ContentDB (''rubenwardy'')
 +
* Sanitize server IP field in mainmenu (''Zughy'')
 +
* Fix item tooltip background color not working (''Lars Mueller'')
 +
* Display Minetest header when menu_last_game value isn't available anymore (''Zughy'')
 +
* Fix minetest.is_nan (''Lars Mueller'')
 +
* Fix some minor code issues all over the place (''sfan5'')
 +
* Minor profiler fixes. (''Lars'')
 +
* Fix fallnode rotation of wallmounted nodebox/mesh (''Wuzzy'')
 +
* Make installer create its own Minetest folder (''LoneWolfHT'')
 +
* Implement mapblock camera offset correctly (''hecks'')
 +
* Fix MSAA stripes (''HybridDog'')
 +
* Fix certain connected nodeboxes crashing when falling (''sfan5'')
 +
* Avoid generating the same chunk more than once with multiple emerge threads. (''Lars'')
 +
* Fixed various issues with stars, sky, and clouds (''numzero'')
 +
* Fix falling image of torchlike if paramtype2="none" (''Wuzzy'')
 +
* Fix player sprite visibility in first person (''sfan5'')
 +
* Fix object interaction distance not being checked (''rubenwardy'')
 +
* Block attempts to connect to the client (''red-001'')
 +
* Fix segfault in deprecation logging due to tail call, log by default (''rubenwardy'', ''SmallJoker'')
 +
* Player physics: Ensure larger dtime simulation steps (''Lars Müller'')
 +
* Avoid resending near blocks unnecessarily. (''Lars'')
 +
* Fix CSMs on arm64 (''luk3yx'')
 +
* Fix Media... 0% on loading screen (''Maksim'')
 +
* Implement unloading of static_save=false objects according to existing docs (''sfan5'')
 +
* Decouple entity minimap markers from nametags replacing with show_on_minimap property (''sfan5'')
 +
* Periodically release all mesh HW buffers to avoid an Irrlicht bottleneck. (''Lars'')
 +
* Fix float argument check in minetest.set_timeofday() (''Zughy'')
 +
* Avoid drawing invisible blocks on the client. (''Lars'')
 +
* Fix scroll bar overlapping text (again) (''random-geek'')
 +
* Reduce the FPS when the window is unfocused (''HybridDog'')
 +
* Android: replace InputDialogActivity on simple dialog window (''Maksim'')
 +
* Correct erroneous reported max lag with prometheus (''Buckaroo Banzai'')
 +
* Fix horizontal/vertical merging bug of hardware-colored framed glass (''Paramat'')
 +
* Fix chat/infotext overlap if many chat lines (''Wuzzy'')
 +
* Settings: Fix crash on exit (''SmallJoker'')
 +
* Record player existence in dummy database. (''Lars'')
 +
* Darwin platform build fix (''David CARLIER'')
 +
* Scale inventory image for scaled allfaces nodes (''Wuzzy'')
 +
* Fix NetBSD build (''David CARLIER'')
 +
* shaders: Fix transparency on GC7000L (''mntmn'')
 +
* Fix MSVC compiler warnings (''adrido'')
 +
* Fix light overflow of u8 if light is saturated at 255 (''BenjaminRi'')
 +
* Fix missing translation call in hypertext (''Pierre-Yves Rollo'')
 +
* Render nodeboxes with opaque material if possible (''sfan5'')
 +
* Fix precision not working in hud_change (''Lars Müller'')
 +
* Fix build for Visual Studio (explicitly cast pointers) (''Seeker'')
 +
* Fix GCC class-memaccess warnings (''Paul Ouellette'')
 +
* Falling: Fix error caused by missing param2 (''SmallJoker'')
 +
* Allow starting local server using --go again (''SmallJoker'')
 +
* decode_base64: Allow '=' padding character (''SmallJoker'')
 +
* Sanitize world directory names on create. Keep original name separate (''Hugues Ross'')
 +
* Improve bad/missing default inventory+wield images of node drawtypes, affecting: airlike, signlike, torchlike, raillike, plantlike, plantlike_rooted, firelike, flowingliquid (''Wuzzy'')
 +
* Android: Fix ConfirmRegistration and PasswordChange input and scale size (''Maksim'')
 +
* Formspecs: volume and key settings windows can now be closed by doubleclicking/tapping (''Zughy'')
 +
 
 +
=== Minetest Game ===
 +
* Add crafting guide (''Paul Ouellette'')
 +
* Added 5 wood variants of Mese Post Light (''An0n3m0us'')
 +
* Add environment sounds for lava and active furnace (''An0n3m0us'')
 +
* Change several block sounds (''An0n3m0us'')
 +
* Fix players sleeping in an occupied bed (''An0n3m0us'', ''Wuzzy'')
 +
* Fix 'sleepwalking' in bed (''An0n3m0us'', ''Wuzzy'')
 +
* Fix sleeping player flying off the bed when damaged and flying far away from the bed after death (''An0n3m0us'')
 +
* Fix sleeping player being immobilized and bed undiggable after death (''An0n3m0us'')
 +
* Fix furnace infotext not always updating when removing item (''orbea'')
 +
* New translation: Slovak (''Daretmavi'')
 +
* New translation: Brazilian Portuguese (''ronaldo'')
 +
* New translation: Lojban (admittedly not a very good translation) (''robintown'', ''Wuzzy'' and others)
 +
* Update existing translations (various people)
 +
 
 +
== 5.2.0 → 5.3.0 ==
 +
 
 +
Released on 9 July 2020.
 +
 
 +
=== Modder Update Guide ===
 +
* Lua API: <code>minetest.PLAYER_MAX_BREATH_DEFAULT</code> set to 10 (was 11). This can cause problems with “statbar” mods (like [hudbars]) that rely on the old value, so those likely need updating
 +
* Default in Minetest Game was incorrectly overriding dropped items. Make sure to update any overrides to pass new arguments to on_step to the original function
 +
 
 +
=== Client / Audiovisuals ===
 +
* Smoother camera movement to fix jump glitches (''paramat'')
 +
* More precise player controls handling (''TheTermos'')
 +
* Fix bone-attached entities (''hecktest'')
 +
* Fix incorrect position data on attach (''hecktest'')
 +
* Fix HUD scaling (mainly for Android) (''MoNTE48'')
 +
* Fix incorrect entity light calculations (''SmallJoker'', ''sfan5'')
 +
* Add chat_log_level and chat_font_size setting (''SmallJoker'')
 +
* New default sky color gradient (''TheTermos'')
 +
* Change default keys for camera/minimap to C/V (''Wuzzy'')
 +
* Fix breath bar scaling (''ANAND'')
 +
* Fix bone position changes breaking animations (''theviper121'')
 +
* No grey screen when C++ errors are thrown by Lua (''pauloue'')
 +
* Android: add OpenGL ES 2 support (''MoNTE48'')
 +
* Reuse object_shader for "wielditem" and "item" entities (''dcbrwn'')
 +
* Shaders: Fix OpenGL < 4.3 compatiblity (''SmallJoker'')
 +
* Formspec: properly display altered inventory lists (''DS'')
 +
* Android: Various input-related fixes (''MoNTE48'')
 +
* Android: Android Studio support, improve everything (''MoNTE48'')
 +
* Remove sound menu and show proper msgs if sound is off (''Wuzzy'')
 +
* Highlight hovered formspec elements when pressing F5, for testing (''SmallJoker'')
 +
* Implement DPI scaling for Windows (''sfan5'')
 +
* Allow relative directories for `screenshot_path` (''Calinou'')
 +
* Add (optional) tone mapping for entities (''dcbrwn'')
 +
* Add new mapgen options in world creation dialog (''Wuzzy'')
 +
* Add support for overriding item inventory/wield images in texture packs (''Df458'')
 +
 
 +
=== GUI (Formspec) ===
 +
* Fix wrong image button scaling (''pyrollo'')
 +
* Document <code>*_hovered</code> and <code>*_pressed styles</code> as deprecated (''v-rob'')
 +
* Add buttons to ContentDB in game bar and configure world (''rubenwardy'')
 +
* Add universal style selector “<code>*</code>” (''v-rob'')
 +
* Add <code>content_offset</code> and <code>padding</code> style properties for buttons (''Df458'')
 +
* Add <code>scroll_container</code> element (''DS'')
 +
* CSS-like state-selection for style elements (''Df458'')
 +
 
 +
=== World / Server / Environment ===
 +
* Fix liquids refusing to flow in X+ or Z+ in some cases (''sfan5'')
 +
* Rework functionality of leveled nodes (''Wuzzy'')
 +
* New Mapgen V7 floatland implementation (''paramat'')
 +
* Server: Better emerge multithreading, various fixes (''sfan5'')
 +
* Correctly indicate failure in /spawnentity (''sfan5'')
 +
* Add PostgreSQL authentication backend (''nerzhul'')
 +
* Add chat command "/revokeme (priv)"  (''Panquesito7'')
 +
* Optimize get_objects_inside_radius calls (''nerzhul'')
 +
* Fix world migration to PostgreSQL (''sfan5'')
 +
* Collision detection fixes and follow-up bug fixes (''TheTermos'')
 +
* Many many networking improvements (''sfan5'')
 +
 
 +
=== Script API / Modding ===
 +
* Log warning when <code>secure.enable_security</code> is disabled (''rubenwardy'')
 +
* Exposed zoom key to the API (''appgurueu'')
 +
* Add LevelDB auth database (''luk3yx'')
 +
* Add vector functions useful for working with rotations (''NetherEran'')
 +
* Add <code>minetest.is_creative_enabled</code> (''Wuzzy'')
 +
* Add <code>minetest.on_authplayer</code> callback (''sorcerykid'')
 +
* HUD: Implement scalable texts (''LoneWolfHT'')
 +
* HUD: "off state" icon feature for statbars (''Wuzzy'')
 +
* <code>set_fov</code>: Add time-based transitions (''ANAND'')
 +
* Expose collision information to LuaEntity <code>on_step</code> (''sfan5'')
 +
* Enforced type checks for registration fields (''SmallJoker'')
 +
* Add server side translations capability (''pyrollo'')
 +
* Fix alias handling of <code>minetest.get_content_id</code> (''sfan5'')
 +
* Document inheritance of different noise seeds (''paramat'')
 +
* Add default stack size setting (''nephele'')
 +
* Play <code>player_jump</code> sound when player jumps (''Wuzzy'')
 +
* HUD: Better waypoints and new image variant (''appgurueu'')
 +
* CSM: Implement <code>minetest.sound_fade()</code> (''sfan5'')
 +
* Error on invalid mapgen alias (''Wuzzy'')
 +
* Add <code>allowed_mapgens</code> option in <code>game.conf</code> (''wt'')
 +
* Lua API documentation clarifications (''Wuzzy'')
 +
* <code>minetest.PLAYER_MAX_BREATH_DEFAULT</code> set to 10 (was 11) (''ANAND'')
 +
 
 +
=== Misc / Build ===
 +
* Android: Hide media from galleries etc (''rubenwardy'')
 +
* Minimal development test [minimal] renamed to “Development Test” [devtest] (''Wuzzy'')
 +
* Complete overhaul of Development Test, many new features added for testing the engine, more documentation added in README files, etc. (''Wuzzy'')
 +
* Particle & ParticleSpawner code cleanup (''sfan5'')
 +
* Add Prometheus support (''nerzhul'')
 +
* Fix detection of in-place path_locale when RUN_IN_PLACE=0 (''sfan5'')
 +
* List STATIC_LOCALEDIR in "--version" (''sfan5'')
 +
* Many code optimizations (''sfan5'')
 +
* Wireshark dissector update (''sfan5'')
 +
* Split and re-organize server object code (''nerzhul'')
 +
* Automatic build improvements (''sfan5'', ''nerzhul'')
 +
 
 +
=== Minetest Game ===
 +
* Rename “Dry Dirt” and related blocks to “Savanna Dirt” and similar (''paramat'')
 +
* Added Wild Cotton: grows in savannas, drops Cotton Seeds (''paramat'')
 +
* Sort items into correct categories (''An0n3m0us'')
 +
* Tune cloud density variation (''paramat'')
 +
* Fix broken Creative inventory search in translation (''sfan5'')
 +
* Make Straw Stairs/Slabs usable as fuel (''Paul Ouellette'')
 +
* New textures: Dry Shrub, Brake Rail (''Extex101'', ''Hooded Ice'')
 +
* Block particles when leaves decay, TNT explodes (''sfan5'')
 +
 
 +
== 5.1.0 → 5.2.0 ==
 +
 
 +
Released on 5 April 2020.
 +
 
 +
=== Client / Audiovisuals ===
 +
* Fix alpha blending in texture modifiers (''Warr1024'')
 +
* Make natural night light as bright as MT 0.4.16 (''paramat'')
 +
* Shader fixes (''lhofhansl'', ''SmallJoker'')
 +
* Clean up font caching, fix bitmap fonts (''SmallJoker'')
 +
* Waves generated with Perlin-type noise #8994 (''lhofhansl'')
 +
* Attachments: Fix glitches after detach (''SmallJoker'')
 +
* Let node 'place' and 'dug' sounds be heard by other players (''sfan5'')
 +
* Fix weird looking liquid source (''Wuzzy'')
 +
* Basic model shading (''dcbrwn'')
 +
* Improve arm inertia animations (''kilbith'')
 +
 
 +
=== GUI Improvements ===
 +
* Add visual feedback for button states (''Df458'')
 +
* Formspec: draw order and clipping for all elements (''DS'')
 +
* Refactor internal button styling/rendering code (''Df458')
 +
* Formspec: Fix clicking on tooltip-obstructed elements (''DS'')
 +
* Formspec: change cursor on fields and co. (''DS'')
 +
* Various new formspec bug fixes (''SmallJoker'')
 +
* Formspec: Add 9-slice background support to button elements  (''Df458'')
 +
* Formspec: add hypertext[] element (''pyrollo'')
 +
* Formspec: animated_image[] (''Df458'', ''kilbith'')
 +
* Make clipping of formspec elements more consistent (''Df458'')
 +
* Remove outdated field_close_on_enter[] warnings in element parameters (''SmallJoker'')
 +
* Fix mouse events sent to wrong GUI elements when dragging (''sfan5'')
 +
* Restore intuitive click-through behaviour (''DS'')
 +
 
 +
=== Enhancements ===
 +
* Wear out tools on punch (''sfan5'')
 +
* Tunnels: Completely disable generation when 'cave width' >= 10.0 (''paramat'')
 +
* Randomwalk cave liquids: Remove deprecated 'lava depth' (''paramat'')
 +
* Automatically enable the mod's dependencies in the world config menu (''HybridDog'')
 +
* Clean up craft replacements docs (''pauloue'')
 +
* Falling nodes: add missing support for light sources, most drawtypes, and paramtype2s (''Wuzzy'')
 +
* Remove legacy flat-file map code and documentation (''random-geek'')
 +
* Fix packet receiving in server and client (''sfan5'')
 +
* Key settings: Cancel with escape, clear with delete (''SmallJoker'')
 +
 
 +
=== Script API / Modding ===
 +
* CSM: Introduce get_modpath() (''sfan5'')
 +
* CSM: Remove non-functional minetest.get_day_count() (''sfan5'')
 +
* Add z-index management to HUD (''pyrollo'')
 +
* Add table.key_value_swap and table.shuffle (''HybridDog'')
 +
* Map download: Escape ':' to '_' (NTFS/FAT* systems) (''Montandalar'')
 +
* Settings: Add get_flags API for mapgen flags (''SmallJoker'')
 +
* Improve minetest.sound_play with ephemeral sounds and player exclusion (''sfan5'')
 +
* Reworked validity checks for entities (''sfan5'')
 +
* Documentation: Add advice on lifetime of ObjectRefs (''sfan5'')
 +
* Allow texture modifiers in hotbar textures (''Warr1024'')
 +
* Nodes with torchlike drawtype and custom visual_scale now are rendered attached to surface instead of being centered (''Wuzzy'')
 +
* Add documentation of VoxelArea 'ystride', 'zstride' (''paramat'')
 +
* Lua API: Document HP, breath and damage limits (''SmallJoker'')
 +
* Various documentation improvements (''Wuzzy'')
 +
* CSM: Corrections to client_lua_api.txt (''sfan5'')
 +
* Make minetest.item_place_node return position of placed node (''Bluebird'')
 +
* Call on_secondary_use when object is right-clicked (''sfan5'')
 +
* CSM: Various fixes (''sfan5'')
 +
* Many pathfinder bugfixes and improvements (''Wuzzy'')
 +
** Fix failure to find path if start or end pos is over air (''Wuzzy'')
 +
** Fix very broken implementation of A* search (''Wuzzy'')
 +
** No longer jump through solid nodes (''Wuzzy'')
 +
** Return nil if start or end pos is solid (''Wuzzy'')
 +
* New set_sky, set_sun, set_moon and set_stars (''Jordach'')
 +
* Secure and document minetest.deserialize() (''luk3yx'')
 +
* minetest.get_content_id: throw error for unknown nodes (''HybridDog'')
 +
 
 +
=== Misc / Build ===
 +
* Don't install fonts on ENABLE_CLIENT=0 configurations (''sfan5'')
 +
* Fix memleaks in formspecs (''SmallJoker'')
 +
* Android: build fixes & compat fixes (''MoNTE48'', ''nerzhul'')
 +
* Run luacheck in travis, add luacheck (''rubenwardy'')
 +
* Android: fix cyrillic characters (''Maksim'')
 +
* Various build issue fixes (Clang, Travis CI) (''sfan5'')
 +
 
 +
=== Minetest Game ===
 +
* Simple weather that varies the clouds (''paramat'')
 +
* More realistic boat physics (''gang65'')
 +
* Creative Inventory search: Item with exact match appears in first spot (''sfan5'')
 +
* Creative Inventory: More visual tweaks (''Andrey2470T'')
 +
* Improve player model animation (''An0n3m0us'')
 +
* Increase water opacity (''lhofhansl'')
 +
* Reset spawn position when bed is destroyed (''Desour'')
 +
* Papyrus now appears in rainforest swamps as well (''paramat'')
 +
* New/updated translations:
 +
** French (''DrHackberrry'')
 +
** Spanish (''runsy'')
 +
** Italian (''h4ml3t'')
 +
** Russian (''Andrey2470T'')
 +
** Swedish (''Aresiel'')
 +
** Malay (''MuhdNurHidayat'')
 +
** Chinese (''zaoqi'', ''IFRFSX'')
 +
* Bugfix: TNT mod crashed when entities disappeared during explosion (''sfan5'')
 +
* Bugfix: Papyrus in savanna did not appear in 5.1.0, it has been added back (''paramat'')
 +
* Bugfix: Screwdriver was able to rotate torches into weird positions (''An0n3m0us'')
 +
* Bugfix: Players could be knocked back when attached (''sfan5'')
 +
 
 +
== 5.1.0 → 5.1.1 ==
 +
 
 +
Released on 17 January 2020.
 +
 
 +
This release is based upon bugfixes from 5.2.0-dev.
 +
 
 +
=== Client / Audiovisuals ===
 +
* Fix player-bound sound playback (''SmallJoker'')
 +
* Fix item eat sound not played if last item (''Wuzzy'')
 +
 
 +
=== World / Server / Environment ===
 +
* Formspecs: Reset version number on rebuild (''SmallJoker'')
 +
* Rework packet receiving in ServerThread (''sfan5'')
 +
* Fix core.chat_format_message crashes (''ClobberXD'')
 +
* Fix spaces breaking formspec_version[] tag (''rubenwardy'')
 +
 
 +
=== Misc / Build ===
 +
* MacOS/BSD: Fix build issue due to conflicting s64 type definitions (''AMDmi3'')
 +
* Fix find_path for newer jsoncpp installations ('''vilhelmgray''')
 +
* Update translations
 +
 
 +
== 5.0.1 → 5.1.0 ==
 +
 
 +
Released on 12 October 2019.
 +
 
 +
=== Map generator ===
 +
* Mapgen Carpathian: Add optional rivers (''paramat'')
 +
* Move more dungeon parameter selection to mapgens (''paramat'')
 +
* Dungeons: Make multiple large rooms possible (''paramat'')
 +
 
 +
=== Client / Audiovisuals ===
 +
* Change pitch fly binding to 'P', add to change keys menu (''rubenwardy'')
 +
* Android settings: Use 'simple' leaves instead of 'fancy' (''paramat'')
 +
* Fix 3rd person selection range (''srifqi'')
 +
* Make scrollbars' bar variable in size (''stujones11'')
 +
* Damage: Play no damage sound when immortal (''SmallJoker'')
 +
* Increase upper limit of display_gamma to 10 (''ClobberXD'')
 +
* Optimize and unify mesh processing (''Vitaliy'')
 +
* Re-order mapgens in mainmenu and 'all settings' mapgen selection (''paramat'')
 +
* Scrollbars: Move directly to clicked pos if clicked into tray (''DS-Minetest'')
 +
* Fix broken attachments on join (''SmallJoker'')
 +
* Fix inventory_overlay for nodes without inventory_image (''DS-Minetest'')
 +
* Better F6 profiler (''SmallJoker'')
 +
* Fix minimap markers (''theviper121'')
 +
* Textures: Load base pack only as last fallback (''SmallJoker'')
 +
 
 +
=== Builtin (Lua / Media / Documentation) ===
 +
* Add /help formspec for commands and privileges  (''SmallJoker'')
 +
* Lua API: Add link to Minetest Modding Book (''ClobberXD'')
 +
* Force item entities out of solid nodes (''sfan5'', based on ''Wuzzy''`s work)
 +
* Lua API: Various fixes (''DS-Minetest'', ''SmallJoker'')
 +
* Rename "private messages" to "direct messages" (''Calinou'')
 +
* Automatically enable depending mods in the dialogue (''HybridDog'')
 +
* All settings: Fix missing flags checkboxes (''srifqi'')
 +
 
 +
=== World / Server / Environment ===
 +
* Various network performance improvements (''osjc'')
 +
* Force send a mapblock to a player (''sofar'')
 +
* Revert ItemStacks being limited to the 'stack_size' value (''ClobberXD'')
 +
* Save forceloaded blocks file periodically (''Thomas Rudin'')
 +
* Improve ABM time budget handling (''lhofhansl'')
 +
* Group "immortal" also protects players from damage (''Wuzzy'')
 +
* Optimize usage of TOSERVER_GOTBLOCKS packet (''sfan5'')
 +
* Network: several bugfixes (''sfan5'')
 +
* Mapgen::spreadLight performance improvement (''DS-Minetest'')
 +
* Improve occlusion culling in corridors with additional check (''sfan5'')
 +
* Inventory: Delay dirty lists, and send changes incrementally (''SmallJoker'')
 +
* Other inventory bugfixes (''sfan5'', ''SmallJoker'')
 +
* Move debug.txt after it grows too big (''HybridDog'')
 +
* Trigger on_place in many situations even if prediction failed (''DS-Minetest'')
 +
* Punchwear (improved) (''sfan5'')
 +
 
 +
=== Script API / Modding ===
 +
* Add deprecation warnings for ObjectRef:get/set_attribute (''ClobberXD'')
 +
* Nodedef 'drop' documentation: Improve (''paramat'')
 +
* Mark tool filtering in node drop documentation as deprecated (''paramat'')
 +
* Add node field to PlayerHPChangeReason table (''pauloue'')
 +
*  Don't call on_hpchange callbacks if HP hasn't changed (''ClobberXD'')
 +
* Add disable_jump to liquids and ladders (''SmallJoker'')
 +
* Add support for 9-sliced backgrounds (''rubenwardy'')
 +
* Add compatible, consistent coordinate system to FormSpecs (''v-rob'')
 +
* Document ObjectRef:remove under Lua entity (''ClobberXD'')
 +
* Docs: Clarify where to check for 'protection_bypass' (''SmallJoker'')
 +
* Add vector.dot and vector.cross (''HybridDog'')
 +
* Improve documentation of mapgen aliases (''paramat'')
 +
* Remove debug.upvaluejoin to prevent leak of insecure environment (''fluxionary'')
 +
* Fix previously crashing minetest.get_craft_result() (''pauloue'')
 +
* Allow toolcaps to override the built-in times for dig_immediate (''sfan5'')
 +
* Formspec styling using style[] (''rubenwardy'')
 +
* Customizable chat message format (''ClobberXD'')
 +
* Velocity modifiers for players (''sfan5'')
 +
* Fix some issues with minetest.clear_craft (''pauloue'')
 +
* Add function `minetest.read_schematic` (''paly2'')
 +
* Formspecs: formspec_version[] element (''SmallJoker'')
 +
* Per-player FOV overrides and multipliers (''ClobberXD'')
 +
 
 +
=== Misc / Build ===
 +
* Find PostgreSQL correctly (''adrido'')
 +
* Add compatibility to vcpkg buildsystem (''adrido'')
 +
* Android: Use system provided path for default TMPFolder setting (''stujones11'')
 +
* Fix handling of --color and --worldlist command line arguments (''mmattes'')
 +
* Unified OpenGL ES support (''sfan5'')
 +
 
 +
=== Minetest Game ===
 +
* Added dry dirt and dry dirt with dry grass. Grass never spreads on dry dirt (''paramat'')
 +
* Savannas now have dry dirt and dry dirt with dry grass (''paramat'')
 +
* Added steel bar door and steel bar trap door
 +
* Added setting “enable_fence_tall” for fences that cannot be jumped over (''mbartlett21'')
 +
* Firefly in a bottle can now be placed into vessels shelf
 +
* Add flowing water sound
 +
* Underground biomes extend much deeper, down to Y=-255
 +
* Make the creative mod hand dig 'dig_immediate' nodes fast (''paramat'')
 +
* Add new TNT sounds (''TumeniNodes'')
 +
* Add missing infotext to nodes (''An0n3m0us'')
 +
* Added translation support
 +
* Added German, French, Spanish and Italian translations (''Wuzzy'', ''Hamlet'', ''JDiaz'', ''DrHackberry'')
 +
 
 +
== 5.0.0 → 5.0.1 ==
 +
 
 +
5.0.1 was released on March 31, 2019.
 +
 
 +
* Fix detached inventory serialisation (''rubenwardy'')
 +
* Fix texture rotation for wallmounted nodeboxes (''sfan5'')
 +
* Fix build failing on some compilers (''rubenwardy'')
 +
* Warn about issues with the num_emerge_threads setting (''paramat'', ''sofar'')
 +
* HPChange Reason: Fix issues with custom reasons (''rubenwardy'')
 +
* Fix FreeBSD build by handling std::time_t properly (''rubenwardy'')
 +
* Confirm registration GUI: Remove positional strings to fix Windows bug (''paramat'')
 +
* Prevent multi-line chat messages server-side (''rubenwardy'')
 +
* httpfetch: Disable IPv6 here too if requested by settings (''sfan5'')
 +
 
 +
== 0.4.16 → 5.0.0 ==
 +
 
 +
Released March 4th
 +
 
 +
<!-- Last updated 3rd Jan by nerzhul, 6b102ce51f01a381ab6356931689d85528455a50 -->
  
 
Note: 5.0.0 is based on 0.4.16, not 0.4.17. 0.4.17 was created by backporting changes from the development branch of 5.0.0
 
Note: 5.0.0 is based on 0.4.16, not 0.4.17. 0.4.17 was created by backporting changes from the development branch of 5.0.0
Line 24: Line 1,137:
 
Android: use c++_shared library instead of c++_static MT doesn't launch without that (''nerzhul'')
 
Android: use c++_shared library instead of c++_static MT doesn't launch without that (''nerzhul'')
 
-->
 
-->
 +
 +
=== Highlights ===
 +
* Add online content repository (games, mods, modpacks, texture packs)
 +
* Add Carpathian mapgen
 +
* Automatic jumping
 +
* Android: Rewritten controls. Add joystick and modify up on-screen buttons
 +
* Mods and games can be translated
 +
* Rename 'subgame' to 'game'
 +
* Modding: More node drawtypes: disconnected nodeboxes (more ways to create connected blocks), <code>plantlike_rooted</code> (for underwater plants)
 +
* Modding: Custom player collision box
 +
* Modding: A great deal of new map generator features
 +
* Modding: Allow to rotate entities in all 3 axes
  
 
=== New Version Scheme ===
 
=== New Version Scheme ===
  
The leading 0 has been dropped, and a trailing one added. This was chosen for a few reasons:
+
Basically, the leading 0 has been dropped. The [https://wiki.minetest.net/Version_number version scheme] was thus changed from
 +
 
 +
ZERO.MAJOR.MINOR.PATCH
 +
 
 +
(note: PATCH was left out when it was 0) to
 +
 
 +
MAJOR.MINOR.PATCH
 +
 
 +
.
 +
 
 +
This was chosen for a few reasons:
  
 
* Shows that we aim to keep inter-version compatibility (which has mostly been the case since early 0.4.x)
 
* Shows that we aim to keep inter-version compatibility (which has mostly been the case since early 0.4.x)
Line 36: Line 1,171:
  
 
=== Breaking changes and deprecations ===
 
=== Breaking changes and deprecations ===
 
 
As a major release, 5.0.0 will break some mods written for 0.4.x versions.
 
As a major release, 5.0.0 will break some mods written for 0.4.x versions.
 
We tried to keep the breakages as small as possible whilst fixing long standing issues.
 
We tried to keep the breakages as small as possible whilst fixing long standing issues.
Line 42: Line 1,176:
 
* Minetest now uses C++11 instead of C++03, make sure you have a compatible system (Windows Vista, Debian 8, Ubuntu 16.04, CentOS 7, macOS 10.7, …)
 
* Minetest now uses C++11 instead of C++03, make sure you have a compatible system (Windows Vista, Debian 8, Ubuntu 16.04, CentOS 7, macOS 10.7, …)
 
* Breaks network compatibility with 0.4.x. 0.4.x clients won't be able to connect to 5.x servers and vice-versa. Fix: update clients and servers to 5.x
 
* Breaks network compatibility with 0.4.x. 0.4.x clients won't be able to connect to 5.x servers and vice-versa. Fix: update clients and servers to 5.x
* Settable custom collision boxes for players. Fix: **todo**
+
* Attachment and player positions have been shifted by 1 node, to allow support for custom player selection boxes. Fix: update default and player_api, subtract <code>10</code> from any attachment positions, shift the origin of player models to the feet
 
* Formspec theming using prepended strings. This may cause wrong backgrounds to appear on formspecs. Fix: see https://forum.minetest.net/viewtopic.php?f=18&t=20646
 
* Formspec theming using prepended strings. This may cause wrong backgrounds to appear on formspecs. Fix: see https://forum.minetest.net/viewtopic.php?f=18&t=20646
 
* depends.txt and description.txt have been deprecated. Fix: use ''description'', ''depends'', and ''optional_depends'' in mod.conf, game.conf, or texture_pack.conf instead
 
* depends.txt and description.txt have been deprecated. Fix: use ''description'', ''depends'', and ''optional_depends'' in mod.conf, game.conf, or texture_pack.conf instead
 +
* modpack.txt has been deprecated. Fix: rename to or add ''modpack.conf''.
 
* Use of deprecated methods such as ''object:setpos()'' is now warned about. Fix: [https://forum.minetest.net/viewtopic.php?f=18&t=20403 replace them with correct functions]
 
* Use of deprecated methods such as ''object:setpos()'' is now warned about. Fix: [https://forum.minetest.net/viewtopic.php?f=18&t=20403 replace them with correct functions]
 
* ''player:get/set_attribute()'' is now deprecated. Fix: use ''player:get_meta()'' instead
 
* ''player:get/set_attribute()'' is now deprecated. Fix: use ''player:get_meta()'' instead
 
* ''nodeupdate()'' was removed. Fix: replace with ''minetest.check_for_falling''.
 
* ''nodeupdate()'' was removed. Fix: replace with ''minetest.check_for_falling''.
 +
* Clouds API: changed speed param from 'y' to 'z'
 +
* Player inventory list "hand" must now be manually initialized by mods (using ''set_size'')
 +
* Some client-side scripting functions were removed (see below)
  
 
Note that a function being ''deprecated'' means that it still exists, but it may give a warning when used and may be removed in future.
 
Note that a function being ''deprecated'' means that it still exists, but it may give a warning when used and may be removed in future.
Line 53: Line 1,191:
  
 
=== Features ===
 
=== Features ===
 +
==== Games ====
 +
* Load a texture pack from the 'textures' subfolder of a game (''red-001'')
  
* '''Android: Rewritten controls. Add joystick and modify up on-screen buttons''' (''srifqi'')
+
==== Map generators ====
 +
* Mapgen: Add Carpathian mapgen (''Vaughan Lapsley'')
 +
* Mapgen flags: Add 'biomes' global mapgen flag (''paramat'')
 +
* Dungeons: Add Y limits in all mapgens (''paramat'')
 +
* Dungeons: Add setting to prevent projecting dungeons (''paramat'')
 +
* Biomes: Add vertical biome blend (''paramat'')
 +
* Mgv7 floatlands: Add exponent parameter (''paramat'')
 +
 
 +
==== User interface ====
 
* Add online content repository (mods, texture packs, mod packs, games) (''rubenwardy'')
 
* Add online content repository (mods, texture packs, mod packs, games) (''rubenwardy'')
* Add support for authentication in an SQLite database (''bendeutsch'')
+
* Rename 'subgame' to 'game' (''paramat'')
 
* Allow enter to select items from combobox's list (''basicer'')
 
* Allow enter to select items from combobox's list (''basicer'')
* Add an optional readonly base database (''lhofhansl'')
+
* Formspecs: Use mouse wheel to pick up and deposit single items (''HybridDog'')
* Add '/hasprivs' chat command (''ClobberXD'')
 
* Mapgen flags: Add 'biomes' global mapgen flag (''paramat'')
 
* Add crossview support (''otdav33'')
 
 
* Add player marker to both minimap types (''nanoproject'')
 
* Add player marker to both minimap types (''nanoproject'')
* Formspecs: Use mouse wheel to pick up and deposit single items (''HybridDog'')
 
* Rename 'subgame' to 'game' (''paramat'')
 
* Allow for getting world name and path separately on the command line (''Brian'')
 
* Object limits: Allow objects to exist outside the set 'mapgen limit' (''paramat'')
 
* Dungeons: Add Y limits in all mapgens (''paramat'')
 
 
* Delete world dialogue: Move buttons to avoid double click deletion (''srifqi'')
 
* Delete world dialogue: Move buttons to avoid double click deletion (''srifqi'')
 
* Add a refresh button to the server list (''ThomasMonroe314'')
 
* Add a refresh button to the server list (''ThomasMonroe314'')
* Add '/kill' chat command (''Wuzzy'')
 
* Add Android drivers to the video_driver drop-down menu (''Wayward1'')
 
 
* Main menu: Change tabs to 'Start Game' and 'Join Game' (''ThomasMonroe314'')
 
* Main menu: Change tabs to 'Start Game' and 'Join Game' (''ThomasMonroe314'')
* Load a texture pack from the 'textures' subfolder of a game (''red-001'')
 
 
* Add password confirmation on new player registration (''srifqi'')
 
* Add password confirmation on new player registration (''srifqi'')
* Biomes: Add vertical biome blend (''paramat'')
 
* Mgv7 floatlands: Add exponent parameter (''paramat'')
 
* Add check to pause game on lost window focus (''rubenwardy'')
 
 
* Adjust default console height (''Ezhh'')
 
* Adjust default console height (''Ezhh'')
* Update light decoding table size (''numberZero'')
 
 
* Add coloured terminal output (''HybridDog'')
 
* Add coloured terminal output (''HybridDog'')
* Optionally extend the active object in a players camera direction (''lhofhansl'')
 
* Load files from subfolders in texture packs (''numberZero'')
 
* Sounds: Add falling node sounds (''sofar'')
 
* Do not grant all privileges to the admin - changes game behavior (''lhofhansl'')
 
* Add setting for near plane distance (''basicer'')
 
* Add mute setting (toggled by the mute key and in the volume menu) (''DTA7'')
 
 
* Add setting to display the itemstring after the tooltip in the inventory (''DTA7'')
 
* Add setting to display the itemstring after the tooltip in the inventory (''DTA7'')
* Implement ability to set client node dig prediction result (''sofar'')
 
* Make HUD status messages translatable (''Wuzzy'')
 
* Add setting for world start time, and change default to  5:15am (''JRottm'', ''paramat'')
 
 
* Make world creation menu automatically generate a random world name (''lisacvuk'')
 
* Make world creation menu automatically generate a random world name (''lisacvuk'')
* New lighting curve (''numberZero'')
 
* Add short description for disabled texture packs (''Wuzzy'')
 
 
* Change “Use” key name to “Special” (''TeTpaAka'')
 
* Change “Use” key name to “Special” (''TeTpaAka'')
* Make direct item selection keys freely bindable (''Wuzzy'')
 
* Mapgen: Add Carpathian mapgen (''Vaughan Lapsley'')
 
* Fog effect when camera is inside cloud (''bendeutsch'')
 
* Camera: Add and improve arm inertia (''kilbith'')
 
* Dungeons: Add setting to prevent projecting dungeons (''paramat'')
 
* Emit liquid sound if the player walks in liquid (''juhdanad'')
 
 
* Make number of maximum displayed chat messages configurable (''Esteban'')
 
* Make number of maximum displayed chat messages configurable (''Esteban'')
 +
 +
==== Controls ====
 +
* Automatic jumping (''bendeutsch'')
 +
* Add pitch move mode, toggle with <kbd>L</kbd> key
 +
* Android: Rewritten controls. Add joystick and modify up on-screen buttons (''srifqi'')
 +
* More keys are changable in settings menu
 +
* Make direct item selection keys freely bindable via minetest.conf (''Wuzzy'')
 +
 +
==== World / server ====
 +
* Add setting for world start time, and change default to  5:15am (''JRottm'', ''paramat'')
 +
* Allow for getting world name and path separately on the command line (''Brian'')
 
* Add a server-sided way to remove color codes from incoming chat messages (''red-001'')
 
* Add a server-sided way to remove color codes from incoming chat messages (''red-001'')
 +
* Object limits: Allow objects to exist outside the set 'mapgen limit' (''paramat'')
 +
 +
==== Chat commands and privileges ====
 +
* Add '/haspriv' chat command (''ClobberXD'')
 +
* Add '/kill' chat command (''Wuzzy'')
 +
* Remove 'zoom' privilege (zoom is now a player object property)
 +
* Do not grant all privileges to the admin - changes game behavior (''lhofhansl'')
  
 +
==== Graphics ====
 +
* Fog effect when camera is inside cloud (''bendeutsch'')
 +
* Camera: Add and improve arm inertia (''kilbith'')
 +
* Update light decoding table size (''numberZero'')
 +
* New lighting curve (''numberZero'')
 +
* Add setting for near plane distance (''basicer'')
 +
* Add Android drivers to the video_driver drop-down menu (''Wayward1'')
  
=== Bug fixes and Improvements ===
+
==== Sounds ====
 +
* Sounds: Add falling node sounds (''sofar'')
 +
* Emit liquid sound if the player walks in liquid (''juhdanad'')
 +
* Play damage sound on player death (''paramat'')
 +
* Add mute setting (toggled by the mute key and in the volume menu) (''DTA7'')
  
Also a big thanks to paramat, ClobberXD, pauloue, gituser2194, lhofhansl, ashtrayoz, Wuzzy, and
+
==== Technical ====
Ezhh for their contributions to documentation, in no particular order.
+
* Add support for authentication in an SQLite database (''bendeutsch'')
 +
* Add an optional readonly base database (''lhofhansl'')
 +
* Add crossview support (''otdav33'')
 +
* Optionally extend the active object in a players camera direction (''lhofhansl'')
 +
* Implement ability to set client node dig prediction result (''sofar'')
  
* Smoothed yaw rotation for objects (''SmallJoker'')
+
==== Misc. ====
* Optimized MapBlock mesh generation (''lhofhansl'')
+
* Add check to pause game on lost window focus (''rubenwardy'')
* Use server's zoom fov for distant world loading. (''lhofhansl'')
+
* Load files from subfolders in texture packs (''numberZero'')
* Disable shaders GUI on unsupported drivers (''numberZero'')
+
* Make HUD status messages translatable (''Wuzzy'')
* Optimize ABM checks (''lhofhansl'')
 
* Fix debug and info text being the wrong color (''rubenwardy'')
 
* Fix objects colliding with their children (''SmallJoker'')
 
* Fix tooltip colors specified by formspec part (''rubenwardy'')
 
* Fix sky objects not rendering with OpenGL ES (''stujones11'')
 
* Make container[] support fractional offsets (''SmallJoker'')
 
* Add a MSVC / Windows compatible snprintf function (''nOOb3167'')
 
* Check if player exists on use of /privs (''ClobberXD'')
 
* Make player liquid speed independent of FPS (''paramat'')
 
* Fix bugs in networking which caused a performance loss (''lhofhansl'')
 
* Reduce block load glitches (''lhofhansl'')
 
* Formspecs: Remove accidental empty 'quit' field (''SmallJoker'')
 
* core.spawn_falling_node: Keep metadata (''SmallJoker'')
 
* Fix memory leaks in mod storage (''nerzhul'', ''red-001'')
 
* Cavegen: Fix errors when getting biome outside mapchunk (''paramat'')
 
* Fix rtt >= 0.0f assertion and free_move crash (''SmallJoker'')
 
* Make RTT display (F5 information) working correctly again (''HybridDog'')
 
* Fix crash caused by Lua error during startup (''red-001'')
 
* Fix ipv6_server=true not accepting IPv4 connections on Windows (''sfan5'')
 
* Biome API: Fix absent water decorations and dust, in deep water (''paramat'')
 
* Provide Xorg/net wm process ID (''thoughtjigs'')
 
* Make os.tempfolder work correctly for MinGW & MSVC (''nOOb3167'')
 
* Fix many Android build issues (''nerzhul'')
 
* Fix narrow/utf8 difference in incoming/outcoming messages (''numberZero'')
 
* Fix builtin lua function os.tempfolder (''nOOb3167'')
 
* Biomemap: Avoid empty biomemap entry to fix failing biome dust (''paramat'')
 
* Fix isNan check for object:set_yaw(..) (''nerzhul'')
 
* Mgv7: Avoid rivergen removing mod-placed nodes when overgenerating (''paramat'')
 
* Print error when HOME is not set (''Midgard'')
 
* Formspec verification: Fix show_formspec inside callbacks (''SmallJoker'')
 
* Vein ore: Fix bug caused by changing perlinmap Y size (''paramat'')
 
* Schematic decorations: Fix placement bug when centered and rotated (''paramat'')
 
* Dungeons: Fix duplication of y limit parameters (''paramat'')
 
* Fix missing ignore textures (''HybridDog'')
 
* Pointed_thing_to_face_pos: Avoid crash when player is inside a node (''paramat'')
 
* Don't show Android edit dialog when tapping read-only field (''srifqi'')
 
* Fix segfault in player migration and crash in log_deprecated (''SmallJoker'')
 
* Make sure color returns to normal after a damage flash (''lhofhansl'')
 
* Camera: Improve subpixel movement (''SmallJoker'')
 
* Run detach callbacks on player leave (''SmallJoker'')
 
* Fix crash guiConfirmRegistration quit menu (''Vincent Glize'')
 
* Fix LuaJIT include directory not being found (''rubenwardy'')
 
* Fix built-in inventory list crash when size = 0 (''SmallJoker'')
 
* Global new() or grab() to be managed in constructor only (''JDCodeIt'')
 
* Mapgen caves: Re-order generation to fix cavern bug (''paramat'')
 
* Biome-defined dungeon nodes: Use faster biome calculation (''paramat'')
 
* Dungeons: Mostly fix missing stair nodes (''paramat'')
 
* Fix i386 bit build at OpenBSD (''mazocomp'')
 
* Node resolver: Make error on fallback optional, disable for mapgen aliases (''paramat'')
 
* Builtin auth handler: Speed up file writing (''SmallJoker'')
 
* FOV: Raise lower limit to avoid zoom-loading of distant world (''paramat'')
 
* Fix for translating empty strings (''minduser00'')
 
* upright_sprite: Fix texture position for players (''SmallJoker'')
 
* carpathian mapgen: Fix spawn level calculation (''paramat'')
 
* Huge LBM lookup performance improvement on mapblock loading (''nerzhul'')
 
* Fix last performance-type-promotion-in-math-fn problems (''nerzhul'')
 
* Optimize a little bit isBlockInSight, adjustDist & collisions (''nerzhul'')
 
* Fix various clang-tidy reported performance-type-promotion-in-math-fn (''nerzhul'')
 
* Selected ItemStack: Reduce black magic and improve the stack swapping behavior (''SmallJoker'')
 
* Fix many issues reported by clang-tidy (''nerzhul'')
 
* core.rotate_node: Do not trigger after_place_node (''SmallJoker'')
 
* Sound: fix static initialization order dependency by not having one (''nOOb3167'')
 
* Fix various Client class functions not marked as override (virtual) (''nerzhul'')
 
* Guard sound manager initialization with "enable_sound" (''nOOb3167'')
 
* MacOS: don't require X11 libraries during compilation (''D Tim Cummings'')
 
* Make sounds stop playing when entering game or mainmenu (''nOOb3167'')
 
* Fix node-nodebox lighting difference in direct sunlight (''numberZero'')
 
* Fix a crash or random memory leak when resetting saved environment variable in test_servermodmanager.cpp (''nerzhul'')
 
* Fix an alone if to be with a missing else (''nerzhul'')
 
* Biomes: Fix vertical biome blend (''paramat'')
 
* Fix Android build (''nerzhul'')
 
* Drop texture file list cache (''numberZero'')
 
* Formspecs: Unify textarea and field parsing functions, fix wrong fallback text (''SmallJoker'')
 
* Variable name fix + structure creation unrolling in lighting code (''nerzhul'')
 
* getv3intfield: Fix logic of return bool (''paramat'')
 
* Fix missing logs from warningstream (or similar) (''HybridDog'')
 
* Generate Notifier: Clear events once after all 'on generated' functions (''paramat'')
 
* valleys mapgen: Fixed submarine valleys shape (''Gael-de-Sailly'')
 
* Fix liquid post effect colour behaviour in third person view (''red-001'')
 
* Collision engine: Collide with 'ignore' nodes (''paramat'')
 
* settingtypes.txt: Fix valleys dungeon ymax error (''parama'')
 
* Biome API: Add 'get_biome_name(biome_id)' API (''paramat'')
 
* Spawn level: Add 'get_spawn_level(x, z)' API (''paramat'')
 
* Make the /shutdown command work properly (''dopik'', ''SmallJoker'')
 
* Mitigate formspec exploits by verifying that the formspec was shown to the user by the server. (''red-001'')
 
* Check argument types inside MetaDataRef Lua API (''sfan5'')
 
* Dungeons: Avoid generation in multiple liquid nodes and 'airlike' (''paramat'')
 
* falling.lua: Delete falling node entities on contact with 'ignore' (''paramat'')
 
* Position entity nametags relative to selection-box (''stujones11'')
 
* Fix liquid bottoms not being rendered (''numberZero'')
 
* Apply physics overrides correctly during anticheat calculations (''sfan5'')
 
* Disable fall damage when "immortal" group set (''lisacvuk'')
 
* Fix ambient occlusion and dark lines at mapblock borders (''numberZero'')
 
* Fix off-by-one in log output line length (''pgimeno'')
 
* Fix buffer parameter not working in LuaPerlinNoiseMap::l_getMapSlice() (''pgimeno'')
 
* Fix naming conventions of noise userdata (''rubenwardy'')
 
* Don't recalculate statustext initial color every time & review fixes (''nerzhul'')
 
* Prevent Android from automatically locking display (''Wayward1'')
 
* Fix Wstringop-overflow warning from util/srp.cpp (''HybridDog'')
 
* Fix crash on can_bypass_userlimit returning non-boolean (''rubenwardy'')
 
* Tool getDigParams: Fix selecting the best fitting time (''HybridDog'')
 
* Advanced settings: Add range check for float type (''srifqi'')
 
* Fix rounding error in g/set_node caused by truncation to float (''rubenwardy'')
 
* Line_of_sight: Improve using VoxelLineIterator (''juhdanad'')
 
* Fix dancing text for formspec input fields (''numberZero'')
 
* Clear colors when reading property info. Set vertex colors on upright_sprites. (''basicer'')
 
* Fix error if setting menu_last_game is not a valid game (''nOOb3167'')
 
* Fix undefined behaviour on getting pointer to data in empty vector (''nOOb3167'')
 
* Fix wrong scrolling of formspec input fields (''numberZero'')
 
* Vector functions: Fix vector.direction() function, improve documentation (''paramat'')
 
* Fix items turning black (''numberZero'')
 
* Chat: Remove prompt history duplicates (''SmallJoker'')
 
* directiontables: Fix MSVC compiler error (''adrido'')
 
* Builtin: Fix handle_node_drops crash with nil digger (''SmallJoker'')
 
* Damage: Remove damage ignore timer (''SmallJoker'')
 
* Pointed thing to face pos: Use 'eye height' object property (''paramat'')
 
* Ensure no item stack is being held before crafting (''Luis Cáceres'')
 
* Use Irrlicht's mesh cache for animated meshes. (''lhofhansl'')
 
* Shut down mapgen threads before other shutdown tasks (''raymoo'')
 
* Inventory: Restrict access from too far away (''SmallJoker'')
 
* core.rotate_node: Run callbacks like with any regular placed node (''SmallJoker'')
 
* Fix mousewheel behaviour in textarea (''shivajiva101'')
 
* Fix dark liquids (''numberZero'')
 
* Biome dust node: Only place on 'walkable' cubic non-liquid drawtypes (''paramat'')
 
* Allow zoom to actually show more data. (''lhofhansl'')
 
* Fix item and wield meshes (''numberZero'')
 
* Make use of safe file writing in auth handler (''sfan5'')
 
* Fix issue Minetest crash when custom font path is not exist (''srifqi'')
 
* Item entities: Enable item collision detection for sudden movement (''DTA7'')
 
* Do not scale texture unless necessary. (''lhofhansl'')
 
* Fix day_night_ratio_do_override not being initialised server-side (''rubenwardy'')
 
* Avoid filtering low-res textures for animated meshes (incl. players) (''lhofhansl'')
 
* Fix default item callbacks to work with nil users (''raymoo'')
 
* Reduce server FOV with forward speed (''lhofhansl'')
 
* Set range of blocks to retrieve per roundtrip to 2. (''lhofhansl'')
 
* Fix inventory drag drop flag (''asl97'')
 
* Fix strict_protocol_version_checking functionality after ee9a442 (''SmallJoker'')
 
* Don't try to craft a non-existent item (''Esteban'')
 
* Cache server config settings. (''lhofhansl'')
 
* Profiler: Fix var args not being passed to callback register function (''rubenwardy'')
 
* Retrieve a small cone of blocks in the direction of the players velocity. (''lhofhansl'')
 
* Formspec: Fallback to 'label' in readonly textarea[] (backwards compatible) (''SmallJoker'')
 
* Simple decorations: Make 'place_offset_y' usable with simple decorations (''paramat'')
 
* Smooth lighting: Fix light leaking through edge-connected corners (''DTA7'')
 
* Thread: fix a crash on Windows due to data race condition on Thread::m_start_finished_mutex (''nerzhul'')
 
* ParticleSpawner::step cleanup and rotation fix (''SmallJoker'')
 
* CAO footstep sounds: Reduce gain to balance volume (''paramat'')
 
* Fix attached particle spawners far from spawn (''raymoo'')
 
* Localplayer: Fix disable_jump effect and getStandingNodePos() (''SmallJoker'')
 
* Server: affect bind_addr on constructor instead of start() (''nerzhul'')
 
* Positional sound: Limit volume when closer than 1 node (''paramat'')
 
* Fix blocks written by VManip not being marked as modified (''sfan5'')
 
* on_death: Fix callback number of pushed arguments (''SmallJoker'')
 
* Fix compile error in OpenBSD (''jcalve'')
 
* Biome generation: Fix layers of 'filler' nodes at biome y limits (''paramat'')
 
* Fix rotated node placement (''tenplus1'')
 
* Cavegen: Avoid unsupported biome 'top' or 'filler' nodes (''paramat'')
 
* Item drop: Tune to land exactly 2 nodes away with level view (''paramat'')
 
* Network: Fix logging into older worlds with base64 hashes (''SmallJoker'')
 
* Fix core.wrap_text and make its behaviour consistent with the docs (''sfan5'')
 
* Fix dropped item look (''HybridDog'')
 
* Object properties: Fix loss of custom selectionbox when it's not updated (''SmallJoker'')
 
* Fix incorrect buffer size calculation on creation of HUD status messages (''rubenwardy'')
 
* Fix empty legacy meta being persisted (''rubenwardy'')
 
* Fix crash on revocation of removed privilege (''rubenwardy'')
 
* Server: Calculate maximal total block sends dynamically (''SmallJoker'')
 
* Particles: Do not add digging particles for airlike nodes (''SmallJoker'')
 
* Prevent /spawnentity from spawning unknown entity (''Wuzzy'')
 
* Fix animation frame_speed and blend loosing precision (''sapier'')
 
* Use crack animation on all tile layers (''juhdanad'')
 
* Statbars: fix incorrect half-images in non-standard orientations (''Ekdohibs'')
 
* Android stepheight: Only increase if 'touching ground' (''paramat'')
 
* Check item_drop amount clientside (''rubenwardy'')
 
* Fix MacOS builds (''Pavel Puchkin'')
 
* Fix Android node selection distance (''juhdanad'')
 
* Safe digging and placing (''bendeutsch'')
 
* Respect object property hp_max field for players (''SmallJoker'')
 
* Do not add base position to player selection box (''stujones11'')
 
* Travis-ci build: fix osx jpeg installation failure, git ambiguous argument error (caused by merging commits) and add a workaround for travis commit range bug (''juozaspo'')
 
* Fix shader.h inclusion place in game.cpp (''nerzhul'')
 
* GenericCAO: Fix light position for non-players, remove deprecated initialisation code (''SmallJoker'')
 
* Lint fix on localplayer.h (''nerzhul'')
 
* L-system: Fix leaves cutting through stems (''HybridDog'')
 
* Trigger on_rightclick regardless on the formspec meta field (''SmallJoker'')
 
* Abort if static_spawnpoint is an invalid setting instead of just giving an error log (''HybridDog'')
 
* Mgv5: Make spawn position search more reliable (''paramat'')
 
* Mgv7: Raise spawn point by 1 node for no mountain case (''paramat'')
 
* Fix error not printed to console when no name is provided (''juozaspo'')
 
* Fix player coordinate rounding in collisionMoveSimple() (''JRottm'')
 
* Sort box corners correctly (''Thomas--S'')
 
* Fix crash when using --go in command line (''juozaspo'')
 
* Dungeons: Use biome 'node_stone' if normal stone types not detected (''paramat'')
 
* GenericCAO: Fix dark model below y = 0 (''paramat'')
 
* Darkness detection: Reduce chance of false positives darkening the skybox (''lhofhansl'')
 
* Move the nametag back to the top of the player (''TeTpaAka'')
 
* Remove unused Map::getDayNightDiff + fix one undefined variable in mapblock.cpp (''nerzhul'')
 
* LBM: use range based for and fixed a loop variable overloading in applyLBMs (''nerzhul'')
 
* Very little performance fix on correctBlockNodeIds (''nerzhul'')
 
* Mgfractal: Improve spawning behaviour (''paramat'')
 
* Mesh generation: Fix performance regression caused by 'plantlike_rooted' PR (''numberZero'')
 
* Chat: Move chat text down to not overlap 3rd line of debug text (''paramat'')
 
* Camera: Fix wieldmesh glitch after teleporting (''kilbith'')
 
* Sneak: Stripped down version (''SmallJoker'')
 
* Don't search for locale folders if gettext is disabled (''adrido'')
 
* Fix crash due to missing pointer validation (''nerzhul'')
 
* Change the server description after a search (''Dumbledor'')
 
* Mgv7: Fix undefined 'float_mount_height' (''paramat'')
 
* Fix for empty key/value when reading item string with wear but no metadata (''Jesse McDonald'')
 
* Fix MSVC compiling annoyances (''adrido'')
 
* Fix undefined behaviour in arm movement when dividing by zero (''nerzhul'')
 
* Inventory: Fix wrong stack size behaviour and item loss (''SmallJoker'')
 
* Mgv7: Clean up divide-by-zero fix (''paramat'')
 
* Mgv7: Avoid divide-by-zero errors (''paramat'')
 
* Fix render order of overlays (''juhdanad'')
 
* Fix console resize issue when maximising game window (''Ezhh'')
 
* Mgv5/v7/fractal: Add 'large_cave_depth' parameter to replace fixed value (''paramat'')
 
* Fix console not being properly resized after window size changed (''Zeno-'')
 
* Fix deserialization of ItemDefinition (''Rui-Minetest'')
 
* Mgv6 mudflow: Avoid partially removed stacked decorations (''paramat'')
 
* Fix no sound bug (''Rui-Minetest'')
 
* Plantlike meshoptions: Fix inverted random vertical offset (''numberZero'')
 
* (Re)spawn players within 'mapgen_limit' (''paramat'')
 
* Have the server send the player list to the client (''red-001'')
 
* Stop autoforward on BACKWARD key-press (''tukkek'')
 
  
 
=== Modding ===
 
=== Modding ===
 
 
* Add on_mods_loaded callback (''nerzhul'')
 
* Add on_mods_loaded callback (''nerzhul'')
 
* MetaDataRef: Add contains() and get() (''rubenwardy'')
 
* MetaDataRef: Add contains() and get() (''rubenwardy'')
Line 346: Line 1,270:
 
* Hint at problematic code when logging deprecated calls (''sfan5'')
 
* Hint at problematic code when logging deprecated calls (''sfan5'')
 
* Add minetest.rgba function that returns ColorString from RGBA or RGB values (''Gael-de-Sailly'')
 
* Add minetest.rgba function that returns ColorString from RGBA or RGB values (''Gael-de-Sailly'')
 +
* World config: Add modpack descriptions (''HybridDog'')
 +
* get_node_drops: Make empty drop return empty table (''tenplus1'')
 +
* Add core.remove_detached_inventory (''SmallJoker'')
 +
* Add disable_repair group to prevent tool repair (''Wuzzy'')
 +
* clear_craft: Return false if recipe not found, don't throw error  (''paramat'')
 +
* Fix string.split returning an empty table if string starts with sepearator (''pyrollo'')
  
 
==== Formspecs / HUD ====
 
==== Formspecs / HUD ====
 
 
* Formspecs: Add tooltip element for area (''rubenwardy'')
 
* Formspecs: Add tooltip element for area (''rubenwardy'')
 
* Formspecs: Allow setting alpha value for the box[] element (''Thomas--S'')
 
* Formspecs: Allow setting alpha value for the box[] element (''Thomas--S'')
Line 357: Line 1,286:
  
 
==== Server-side ====
 
==== Server-side ====
 +
===== Metadata =====
 +
* Give games the ability to disallow specific mapgens (''Ezhh'')
 +
* Load mod dependencies and description from mod.conf (''rubenwardy'')
  
* Give games the ability to disallow specific mapgens (''Ezhh'')
+
===== User interface =====
 +
* Add clientside translations. (''Ekdohibs'')
 +
* Add formspec theming using prepended strings (''rubenwardy'')
 +
* Zoom: Set zoom FOV per-player using a player object property (''paramat'')
 +
* Zoom: Move enabling zoom to a new player object property (''paramat'')
 +
* Minimap: Add new HUD flag for minimap radar mode (''paramat'')
 +
 
 +
===== Items =====
 
* Allow overriding tool capabilities through itemstack metadata (''raymoo'')
 
* Allow overriding tool capabilities through itemstack metadata (''raymoo'')
* Add player inventory callbacks (''SmallJoker'')
+
* Set placer to nil instead of a non-functional one in item_OnPlace (''DTA7'')
* Load dependencies and description from mod.conf (''rubenwardy'')
+
* Overlays for wield and inventory images (''juhdanad'')
* Customizeable max health and max breath for players (''SmallJoker'')
+
* Make dropped items colorable (''juhdanad'')
* Add reasons to on_dieplayer and on_hpchange (''rubenwardy'')
+
* Automatic item and node colorization (''juhdanad'')
 +
* Add eat sound (''Wuzzy'')
 +
 
 +
===== Nodes =====
 +
* Add slippery group for nodes (players/items slide) (''Wuzzy'')
 +
* Connected Nodeboxes: Add 'disconnected' boxes (''Thomas--S'')
 +
* Add callback to preserve node metadata as item metadata (''ashtrayoz'')
 +
* Add 'plantlike_rooted' drawtype (''numberZero'')
 +
 
 +
===== Objects/entities =====
 
* ObjectRef: Add add_velocity() (''HybridDog'')
 
* ObjectRef: Add add_velocity() (''HybridDog'')
* Real global textures (''numberZero'')
 
* Add formspec theming using prepended strings (''rubenwardy'')
 
* Biome API: Add 'get_biome_name(biome_id)' API (''paramat'')
 
* Spawn level: Add 'get_spawn_level(x, z)' API (''paramat'')
 
 
* Allow damage for attached objects, add attach/detach callbacks (''SmallJoker'')
 
* Allow damage for attached objects, add attach/detach callbacks (''SmallJoker'')
* Implement minetest.register_can_bypass_userlimit (''nerzhul'')
 
* Add minetest.bulk_set_node call + optimize Environment::set_node call (''nerzhul'')
 
* Make the server status message customizable (''SmallJoker'')
 
 
* Optional alpha channel support for entities (''stujones11'')
 
* Optional alpha channel support for entities (''stujones11'')
 +
* Add static_save property to luaentites to not save them statically. (''orwell96'')
 +
* Object properties: Add 'glow', disables light's effect if negative (''basicer'')
 +
* core.get_objects_inside_radius: Omit removed objects (''HybridDog'')
 +
* Make entity selection and collision boxes independently settable (''stujones11'')
 +
* Add set_rotation/get_rotation to rotate entities in all 3 axes
 +
 +
===== Players =====
 +
* Customizeable max health and max breath for players (not persisted between server restarts) (''SmallJoker'')
 +
* Add reasons to on_dieplayer and on_hpchange (''rubenwardy'')
 +
* Add minetest.is_player (''HybridDog'')
 +
* Add on_grant and on_revoke callbacks (''rubenwardy'')
 +
* Player eye height: Make this a settable player object property (''paramat'')
 +
* Step height: Add as a player object property (''paramat'')
 +
* Player collisionbox: Make settable (''TeTpaAka'')
 +
* Add player inventory callbacks (''SmallJoker'')
 +
 +
===== Mapgen =====
 +
* Biomes: Add 'get_biome_name(biome_id)' API (''paramat'')
 
* Biomes: Add 'min_pos'/'max_pos' xyz biome limits (''paramat'')
 
* Biomes: Add 'min_pos'/'max_pos' xyz biome limits (''paramat'')
 +
* Biomes: Add decoration flags for underground decorations (''paramat'')
 +
* Biomes: Add function to deregister single biomes (''zeuner'')
 +
* Biomes / dungeons: Add biome-defined dungeon nodes (''paramat'')
 +
* Biomes / cavegen: Add definable cave liquid for a biome (''paramat'')
 +
* Biomes: Add 'get heat', 'get humidity', 'get biome data' APIs (''paramat'')
 +
* Biomes/decorations/ores: Make relative to 'water_level' setting (''paramat'')
 
* Place schematic (on vmanip): Enable use of 'place center' flags (''paramat'')
 
* Place schematic (on vmanip): Enable use of 'place center' flags (''paramat'')
 +
* Ores: Add stratum ore (''paramat'')
 +
* Stratum ore: Add option for a constant thickness stratum (''paramat'')
 +
* Stratum ore: Allow use with no noise for simple horizontal strata (''paramat'')
 +
* Simple decorations: Add 'param2_max' parameter for random param2 (''paramat'')
 +
* Schematic decorations: Add 'place_offset_y' placement parameter (''paramat'')
 +
* Decoration API: Add lightweight ability to have complete coverage (''paramat'')
 +
* Mgv6: Remove incorrectly defined and unused 'volume nodes' (''paramat'')
 +
* Mgv7: Add 'mount_zero_level' parameter (''paramat'')
 +
* Mgv7: Add option to repeat surface biomes in floatlands (''paramat'')
 +
* Mgvalleys: Make river depth variation and humidity drop optional (''paramat'')
 +
* CavesRandomWalk: Make 'lava_depth' a mapgen parameter (''paramat'')
 +
* Gennotify: Add 'minetest.get_decoration_id' API (''paramat'')
 +
 +
===== World =====
 +
* Spawn level: Add 'get_spawn_level(x, z)' API (''paramat'')
 +
* Add minetest.bulk_set_node call + optimize Environment::set_node call (''nerzhul'')
 +
* Implement minetest.register_can_bypass_userlimit (''nerzhul'')
 +
 +
===== Chat =====
 +
* Make the server status message customizable (''SmallJoker'')
 
* Allow the join/leave message to be overridden by mods. (''red-001'')
 
* Allow the join/leave message to be overridden by mods. (''red-001'')
 +
 +
===== Protection =====
 
* is_area_protected: Rename from intersects_protection (''SmallJoker'')
 
* is_area_protected: Rename from intersects_protection (''SmallJoker'')
* Add `on_auth_fail` callback (''red-001'')
 
* Add minetest.is_player (''HybridDog'')
 
* Add on_grant and on_revoke callbacks (''rubenwardy'')
 
 
* Intersects_protection(): Move from Minetest Game to builtin (''paramat'')
 
* Intersects_protection(): Move from Minetest Game to builtin (''paramat'')
* Connected Nodeboxes: Add `disconnected` boxes (''Thomas--S'')
+
 
 +
===== Graphics and sounds =====
 +
* Real global textures (''numberZero'')
 +
* Clouds API: change speed from 'y' to 'z', ColorSpecs in Lua docs (''bendeutsch'')
 +
* In-cloud fog: Strengthen effect when small view range is used (''lhofhansl'')
 +
* Sound: Add pitch option (''Rui-Minetest'')
 +
 
 +
===== Utility features =====
 
* Allow 'default' parameter in 'settings:get_bool' function (''Jordan Irwin'')
 
* Allow 'default' parameter in 'settings:get_bool' function (''Jordan Irwin'')
* Add callback to preserve node metadata as item metadata (''ashtrayoz'')
+
* Add `on_auth_fail` callback (''red-001'')
* Zoom: Set zoom FOV per-player using a player object property (''paramat'')
 
 
* Make core.auth_table private and structure builtin/auth.lua (''sfan5'')
 
* Make core.auth_table private and structure builtin/auth.lua (''sfan5'')
* Stratum ore: Add option for a constant thickness stratum (''paramat'')
 
* Player eye height: Make this a settable player object property (''paramat'')
 
 
* Add sha1 to lua utils. (''basicer'')
 
* Add sha1 to lua utils. (''basicer'')
* Biome API: Add decoration flags for underground decorations (''paramat'')
 
* Simple decorations: Add 'param2_max' parameter for random param2 (''paramat'')
 
* Stratum ore: Allow use with no noise for simple horizontal strata (''paramat'')
 
* Add static_save property to luaentites to not save them statically. (''orwell96'')
 
* Set placer to nil instead of a non-functional one in item_OnPlace (''DTA7'')
 
* Object properties: Add 'glow', disables light's effect if negative (''basicer'')
 
* Schematic decorations: Add 'place_offset_y' placement parameter (''paramat'')
 
* Ores: Add stratum ore (''paramat'')
 
 
* Remove nodeupdate and nodeupdate_single (''Rui-Minetest'')
 
* Remove nodeupdate and nodeupdate_single (''Rui-Minetest'')
* Zoom: Move enabling zoom to a new player object property (''paramat'')
 
* Lua API: Add function to deregister single biomes (''zeuner'')
 
* core.get_objects_inside_radius: Omit removed objects (''HybridDog'')
 
* Add '@n' escape sequences and some documentation on translated strings. (''Ekdohibs'')
 
* Overlays for wield and inventory images (''juhdanad'')
 
* Add clientside translations. (''Ekdohibs'')
 
* Make entity selection and collision boxes independently settable (''stujones11'')
 
* Mgv6: Remove incorrectly defined and unused 'volume nodes' (''paramat'')
 
* Minimap: Add new HUD flag for minimap radar mode (''paramat'')
 
* Make dropped items colorable (''juhdanad'')
 
* Add slippery group for nodes (players/items slide) (''Wuzzy'')
 
* Step height: Add as a player object property (''paramat'')
 
* Mgv7: Add 'mount_zero_level' parameter (''paramat'')
 
* Clouds API: change speed from 'y' to 'z', ColorSpecs in Lua docs (''bendeutsch'')
 
* Mgv7: Add option to repeat surface biomes in floatlands (''paramat'')
 
* Player collisionbox: Make settable (''TeTpaAka'')
 
* In-cloud fog: Strengthen effect when small view range is used (''lhofhansl'')
 
* Biomes/decorations/ores: Make relative to 'water_level' setting (''paramat'')
 
* Add 'plantlike_rooted' drawtype (''numberZero'')
 
* Mapgen Carpathian: Add lava_depth parameter (''vlapsley'')
 
 
* Expose getPointedThing to Lua (''juhdanad'')
 
* Expose getPointedThing to Lua (''juhdanad'')
 
* Helper methods for hardware colorization (''juhdanad'')
 
* Helper methods for hardware colorization (''juhdanad'')
* CavesRandomWalk: Make 'lava_depth' a mapgen parameter (''paramat'')
 
* Automatic item and node colorization (''juhdanad'')
 
* Sound: Add pitch option (''Rui-Minetest'')
 
 
* httpfetch: Enable gzip support (''sfan5'')
 
* httpfetch: Enable gzip support (''sfan5'')
* Gennotify: Add 'minetest.get_decoration_id' API (''paramat'')
+
* Rename hasprivs command to haspriv  (''ezhh'')
* Mgvalleys: Make river depth variation and humidity drop optional (''paramat'')
 
* Decoration API: Add lightweight ability to have complete coverage (''paramat'')
 
* Biome API / dungeons: Add biome-defined dungeon nodes (''paramat'')
 
* Biome API / cavegen: Add definable cave liquid for a biome (''paramat'')
 
* Biomes: Add 'get heat', 'get humidity', 'get biome data' APIs (''paramat'')
 
  
 
==== Client-side ====
 
==== Client-side ====
 
 
* Add flavour limits controlled by server (''nerzhul'')
 
* Add flavour limits controlled by server (''nerzhul'')
 
* Disallow exploitable clientside mod functions by default (''paramat'')
 
* Disallow exploitable clientside mod functions by default (''paramat'')
Line 448: Line 1,399:
 
* Add function to get player privileges (''red-001'')
 
* Add function to get player privileges (''red-001'')
  
=== Other / Misc ===
+
=== Bug fixes and small improvements ===
 
+
Also a big thanks to paramat, ClobberXD, pauloue, gituser2194, lhofhansl, ashtrayoz, Wuzzy, and Ezhh for their contributions to documentation, in no particular order.
* Version scheme change: 0.5.0 -> 5.0.0 (''nerzhul'')
 
* Move ASCII art to std::cerr, to remove it from logs (''rubenwardy'')
 
* PlayerSettings struct for player movement code (''bendeutsch'')
 
* Client eventmanager refactor (''nerzhul'')
 
* Update mesh collector and move it to a separate file (''numberZero'')
 
* Add Voxelarea unittests (''nerzhul'')
 
* VoxelArea: add_{x,y,z,p} must be static (''nerzhul'')
 
* Cleanup in flat lighting (''numberZero'')
 
* Node definition manager refactor (''juhdanad'')
 
* Move `setlocale` from Lua to C++. (''red-001'')
 
* Rewrite rendering engine (''numberZero'')
 
* Improve the path select GUI (''red-001'')
 
 
 
== 0.4.17.1 → 0.4.17.2 (Android Only) ==
 
 
 
Patched 0.4.17.1 to fix some Android crashes, released on June 28, 2018.
 
  
* Android: Use correct temporary path (''stujones11'')
+
==== Critical ====
* Fix MurmurHash implementation to really be unaligned (''sfan5'')
 
 
* Fix crash caused by Lua error during startup (''red-001'')
 
* Fix crash caused by Lua error during startup (''red-001'')
* Fix buffer overrun in SRP (''red-001'')
+
* Pointed_thing_to_face_pos: Avoid crash when player is inside a node (''paramat'')
* Android: use c++_shared library instead of c++_static (''nerzhul'')
+
* Fix segfault in player migration and crash in log_deprecated (''SmallJoker'')
* Android: Fix android tools version used to build MT (''nerzhul'')
+
* Fix crash guiConfirmRegistration quit menu (''Vincent Glize'')
 +
* Fix built-in inventory list crash when size = 0 (''SmallJoker'')
 +
* Fix a crash or random memory leak when resetting saved environment variable in test_servermodmanager.cpp (''nerzhul'')
 +
* Fix crash on can_bypass_userlimit returning non-boolean (''rubenwardy'')
 +
* Fix error if setting menu_last_game is not a valid game (''nOOb3167'')
 +
* Builtin: Fix handle_node_drops crash with nil digger (''SmallJoker'')
 +
* Fix issue Minetest crash when custom font path is not exist (''srifqi'')
 +
* Thread: fix a crash on Windows due to data race condition on Thread::m_start_finished_mutex (''nerzhul'')
 +
* Fix crash on revocation of removed privilege (''rubenwardy'')
 +
* Fix crash when using --go in command line (''juozaspo'')
 +
* Fix crash due to missing pointer validation (''nerzhul'')
 +
* Fix get_server_status() segfault due to uninitialized m_env (''rubenwardy'')
  
== 0.4.17 → 0.4.17.1 ==
+
==== Build ====
 +
* Fix many Android build issues (''nerzhul'')
 +
* Fix i386 bit build at OpenBSD (''mazocomp'')
 +
* Fix compile error in OpenBSD (''jcalve'')
 +
* Fix MSVC compiling annoyances (''adrido'')
 +
* directiontables: Fix MSVC compiler error (''adrido'')
 +
* Fix MacOS builds (''Pavel Puchkin'')
 +
* Travis-ci build: fix osx jpeg installation failure, git ambiguous argument error (caused by merging commits) and add a workaround for travis commit range bug (''juozaspo'')
  
Patched 0.4.17 to fix a crash, released on June 10, 2018.
+
==== System-specific ====
 +
* Provide Xorg/net wm process ID (''thoughtjigs'')
 +
* Make os.tempfolder work correctly for MinGW & MSVC (''nOOb3167'')
 +
* Print error when HOME is not set (''Midgard'')
 +
* MacOS: don't require X11 libraries during compilation (''D Tim Cummings'')
 +
* Prevent Android from automatically locking display (''Wayward1'')
 +
* Windows: Cpack wix installer (''adrido'')
  
* Correct character encoding for chat_send_player and chat_send_all
+
==== Rendering ====
* Fix crash caused by log_deprecated and the use of deprecated functions
+
* Fix liquid bottoms not being rendered (''numberZero'')
* Fix crash on pause menu when pressing up/down keys
+
* Fix liquid post effect colour behaviour in third person view (''red-001'')
* Android build system fixes
+
* Fix dark liquids (''numberZero'')
 +
* Use crack animation on all tile layers (''juhdanad'')
 +
* Smoothed yaw rotation for objects (''SmallJoker'')
 +
* Disable shaders GUI on unsupported drivers (''numberZero'')
 +
* Fix missing ignore textures (''HybridDog'')
 +
* Make sure color returns to normal after a damage flash (''lhofhansl'')
 +
* Camera: Improve subpixel movement (''SmallJoker'')
 +
* Camera: Fix wieldmesh glitch after teleporting (''kilbith'')
 +
* upright_sprite: Fix texture position for players (''SmallJoker'')
 +
* Fix node-nodebox lighting difference in direct sunlight (''numberZero'')
 +
* Fix ambient occlusion and dark lines at mapblock borders (''numberZero'')
 +
* Don't recalculate statustext initial color every time & review fixes (''nerzhul'')
 +
* Clear colors when reading property info. Set vertex colors on upright_sprites. (''basicer'')
 +
* Fix items turning black (''numberZero'')
 +
* Fix dropped item look (''HybridDog'')
 +
* Fix item and wield meshes (''numberZero'')
 +
* Do not scale texture unless necessary. (''lhofhansl'')
 +
* Avoid filtering low-res textures for animated meshes (incl. players) (''lhofhansl'')
 +
* Reduce server FOV with forward speed (''lhofhansl'')
 +
* ParticleSpawner::step cleanup and rotation fix (''SmallJoker'')
 +
* Fix incorrect buffer size calculation on creation of HUD status messages (''rubenwardy'')
 +
* Particles: Do not add digging particles for airlike nodes (''SmallJoker'')
 +
* Fix animation frame_speed and blend loosing precision (''sapier'')
 +
* Fix undefined behaviour in arm movement when dividing by zero (''nerzhul'')
 +
* Fix render order of overlays (''juhdanad'')
 +
* Particles: Make collision with objects optional (''paramat'')
 +
* Fix stretched stars bug, change render order (''Aspen'')
 +
* Software inventorycube (''Vitality'')
 +
* Light curve: Simplify and improve code, fix darkened daytime sky (''Vitality'')
 +
* Smooth lighting: Fix light leaking through edge-connected corners (''DTA7'')
 +
* Darkness detection: Reduce chance of false positives darkening the skybox (''lhofhansl'')
 +
* Fix sky objects not rendering with OpenGL ES (''stujones11'')
 +
* Night clouds: Boost brightness for a moonlit appearence (''paramat'')
 +
* Night sky: Fix brightness threshold for applying night colours (''paramat'')
  
== 0.4.16 → 0.4.17 ==
+
==== User interface ====
 +
* Fix debug and info text being the wrong color (''rubenwardy'')
 +
* Fix tooltip colors specified by formspec part (''rubenwardy'')
 +
* Make RTT display (F5 information) working correctly again (''HybridDog'')
 +
* Don't show Android edit dialog when tapping read-only field (''srifqi'')
 +
* Make sounds stop playing when entering game or mainmenu (''nOOb3167'')
 +
* Fix dancing text for formspec input fields (''numberZero'')
 +
* Chat: Remove prompt history duplicates (''SmallJoker'')
 +
* Statbars: fix incorrect half-images in non-standard orientations (''Ekdohibs'')
 +
* Advanced settings: Add range check for float type (''srifqi'')
 +
* Move the nametag back to the top of the player (''TeTpaAka'')
 +
* Chat: Move chat text down to not overlap 3rd line of debug text (''paramat'')
 +
* Fix console resize issue when changed game window (''Ezhh'', ''Zeno-'')
 +
* Android buttons: Inset 'rare controls', inset and resize 'gear icon' (''paramat'')
 +
* Main menu: Clean up and improve advanced settings dialogues (''SmallJoker'')
 +
* Escape special characters when searching the server list (''ChimneySwift'')
  
Backported release containing only bug fixes and small features.
+
==== Formspecs ====
0.4.17 was released on June 3, 2018.
+
* Mitigate formspec exploits by verifying that the formspec was shown to the user by the server. (''red-001'')
 +
* Make container[] support fractional offsets (''SmallJoker'')
 +
* Remove accidental empty 'quit' field (''SmallJoker'')
 +
* Unify textarea and field parsing functions, fix wrong fallback text (''SmallJoker'')
 +
* Formspec verification: Fix show_formspec inside callbacks (''SmallJoker''
 +
* Fix wrong scrolling of formspec input fields (''numberZero'')
 +
* Inventory: Restrict access from too far away (''SmallJoker'')
 +
* Fix mousewheel behaviour in textarea (''shivajiva101'')
 +
* Fallback to 'label' in readonly textarea[] (backwards compatible) (''SmallJoker'')
 +
* Fix invalid background warning (''SmallJoker'')
 +
* Fix text clipped by scrollbars (''random-geek'')
  
=== Features ===
+
==== Performance ====
* Builtin auth handler: Speed up file writing
+
* Optimized MapBlock mesh generation (''lhofhansl'')
* LBM lookup performance improvement on mapblock loading
+
* Optimize ABM checks (''lhofhansl'')
* Minetest ASCII art: Move from actionstream to rawstream
+
* Fix bugs in networking which caused a performance loss (''lhofhansl'')
* CollisionMoveSimple: Collide with 'ignore' nodes
+
* Builtin auth handler: Speed up file writing (''SmallJoker'')
* Allow objects to exist outside of 'mapgen limit' (mapblocks may exist)
+
* Huge LBM lookup performance improvement on mapblock loading (''nerzhul'')
* Find nodes in area (under air): Raise volume limit
+
* Fix last performance-type-promotion-in-math-fn problems (''nerzhul'')
* Allow dumping userdata using dump()
+
* Optimize a little bit isBlockInSight, adjustDist & collisions (''nerzhul'')
* Add minetest.is_player API function
+
* Line_of_sight: Improve using VoxelLineIterator (''juhdanad'')
* Refine movement anticheat (again)
+
* Cache server config settings. (''lhofhansl'')
* Apply physics overrides correctly during anticheat calculations
+
* Very little performance fix on correctBlockNodeIds (''nerzhul'')
* Shut down mapgen threads before other shutdown tasks
+
* Don't search for locale folders if gettext is disabled (''adrido'')
* Show script source of deprecated function calls
 
* Inventory: Restrict access from too far away (anticheat)
 
* Improve Settings tab button alignments
 
* Add minetest.sha1 util API function
 
* Avoid filtering low-res textures for animated meshes
 
* Add setting for near plane distance to improve performance
 
* Footstep sounds: Reduce gain to balance volume
 
* Positional sound: Limit volume when closer than 1 node
 
* Leveled nodebox: Change levels from 1/63rds to 1/64ths
 
* ClientInterface: user limit checking function
 
* Make dropped items colorable
 
* Trigger on_rightclick regardless on the formspec meta field
 
* Clarify "Full viewing range" key message
 
* Rework new sneak code, minimize
 
* Tile material: Opaque textures by default to prevent xray effect
 
* Automatic item and node colorization
 
* find_nodes_in_area: Extend maximal count to U32_MAX
 
* Add server option to remove color codes from chat messages
 
  
=== Bug fixes and Improvements ===
+
==== Networking ====
 +
* Use server's zoom fov for distant world loading. (''lhofhansl'')
 +
* Fix ipv6_server=true not accepting IPv4 connections on Windows (''sfan5'')
 +
* Fix narrow/utf8 difference in incoming/outcoming messages (''numberZero'')
 +
* Fix day_night_ratio_do_override not being initialised server-side (''rubenwardy'')
 +
* Fix attached particle spawners far from spawn (''raymoo'')
 +
* Server: affect bind_addr on constructor instead of start() (''nerzhul'')
 +
* Network: Fix logging into older worlds with base64 hashes (''SmallJoker'')
 +
* Server: Calculate maximal total block sends dynamically (''SmallJoker'')
 +
* Have the server send the player list to the client (''red-001'')
  
* Various build fixes (LuaJIT not found, OpenBSD)
+
==== Chat commands and privileges ====
* Dungeons: Mostly fix missing stair nodes
+
* Check if player exists on use of /privs (''ClobberXD'')
* Cavegen: Fix variable typo that broke mgvalleys large cave distribution
+
* Reduce block load glitches (''lhofhansl'')
* Prevent translating empty strings
+
* Make the /shutdown command work properly (''dopik'', ''SmallJoker'')
* upright_sprite: Fix texture position for players
+
* Prevent /spawnentity from spawning unknown entity (''Wuzzy'')
* core.rotate_node: Do not trigger after_place_node for mod compatibility
 
* macOS: don't require X11 libraries during compilation
 
* Generate Notifier: Clear events once after all 'on generated' functions
 
* Fix liquid post effect colour behaviour in third person view
 
* Delete world dialog: Move buttons to avoid double click deletion
 
* Fix /shutdown countdown parameter
 
* Check argument types inside MetaDataRef Lua API
 
* Fix "Ignoring CONTENT_IGNORE redefinition" warning
 
* dropped items and falling nodes: Delete in 'ignore' nodes
 
* Move setlocale from Lua to C++
 
* Fix off-by-one in log output line length
 
* Fix buffer parameter not working in getMapSlice()
 
* Fix rounding error in g/set_node caused by truncation to float
 
* Fix dancing text in text input fields
 
* Fix undefined behaviour on getting pointer to data in empty vector
 
* Fix wrong scrolling in text areas
 
* Builtin: Fix handle_node_drops crash with nil digger
 
* Damage: Remove damage ignore timer due to abuse potential
 
* Ensure no item stack is being held before crafting
 
* Several documentation additions, improvements
 
* core.rotate_node: Run callbacks like with any regular placed node
 
* Biome dust node: Only place on 'walkable' cubic non-liquid drawtypes
 
* Make use of safe file writing in auth handler
 
* Add minetest.safe_write_file() API function
 
* Fix issue Minetest crash when custom font path is not exist
 
* Fix Settings tab formspec alignment
 
* Do not scale texture unless necessary
 
* httpfetch: Enable gzip support
 
* Fix day_night_ratio_do_override not being initialised server-side
 
* Fix default item callbacks to work with nil users
 
* Prevent from crafting non-existent, unknown items
 
* Profiler: Fix var args not being passed to callback register function
 
* Unkown nodes: Provide position on interact
 
* Fix attached particle spawners far from spawn
 
* Localplayer: Fix disable_jump effect and standing node position
 
* Fix blocks written by vmanip not being marked as modified
 
* Set placer to nil instead of a non-functional one in item_OnPlace
 
* Fix Rotate Node Placement
 
* ServerEnv: Clean up object lifecycle handling (item deletion)
 
* Fix the core.wrap_text function
 
* Fix empty legacy meta being persisted
 
* Statbars: fix incorrect half-images in non-standard orientations
 
* Android stepheight: Only increase if 'touching ground'
 
* Fix Android node selection distance
 
* serialize: use a temporary for SerializeException
 
* Fix player coordinate rounding in collisionMoveSimple()
 
* Various crash and error fixes
 
* Fix for empty key/value when reading item string with wear but no metadata
 
* Fix render order of overlays
 
* Fix console resize issue when maximising game window
 
* Fix console not being properly resized after window size changed
 
* Verify HudSetParams input when hotbar textures are set
 
* (Re)spawn players within 'mapgen_limit'
 
* Fix sending color codes to clients that don't support them
 
  
== 0.4.15 → 0.4.16 ==
+
==== World ====
 +
* Fix blocks written by VManip not being marked as modified (''sfan5'')
 +
* Set range of blocks to retrieve per roundtrip to 2. (''lhofhansl'')
 +
* Retrieve a small cone of blocks in the direction of the players velocity. (''lhofhansl'')
  
0.4.16 was released on June 3, 2017.
+
==== Map generator ====
 +
* Change mapgen order to ores > dungeons > decorations (''paramat'')
 +
* Biome API: Fix absent water decorations and dust, in deep water (''paramat'')
 +
* Biome-defined dungeon nodes: Use faster biome calculation (''paramat'')
 +
* Biomemap: Avoid empty biomemap entry to fix failing biome dust (''paramat'')
 +
* Biomes: Fix vertical biome blend (''paramat'')
 +
* Biome dust node: Only place on 'walkable' cubic non-liquid drawtypes (''paramat'')
 +
* Biome generation: Fix layers of 'filler' nodes at biome y limits (''paramat'')
 +
* Mgv5: Make spawn position search more reliable (''paramat'')
 +
* Mgv6 mudflow: Avoid partially removed stacked decorations (''paramat'')
 +
* Mgv7: Raise spawn point by 1 node for no mountain case (''paramat'')
 +
* Mgv7: Avoid rivergen removing mod-placed nodes when overgenerating (''paramat'')
 +
* Mgv7: Avoid divide-by-zero errors (''paramat'')
 +
* Mgv7: Fix undefined 'float_mount_height' (''paramat'')
 +
* Mgfractal: Improve spawning behaviour (''paramat'')
 +
* Mgv5/v7/fractal: Add 'large_cave_depth' parameter to replace fixed value (''paramat'')
 +
* Fix Mapgen Valleys getSpawnLevelAtPoint() (''Treer'')
 +
* Vein ore: Fix bug caused by changing perlinmap Y size (''paramat'')
 +
* Schematic decorations: Fix placement bug when centered and rotated (''paramat'')
 +
* Simple decorations: Make 'place_offset_y' usable with simple decorations (''paramat'')
 +
* Dungeons: Fix duplication of y limit parameters (''paramat'')
 +
* Dungeons: Mostly fix missing stair nodes (''paramat'')
 +
* Dungeons: Avoid generation in multiple liquid nodes and 'airlike' (''paramat'')
 +
* Dungeons: Use biome 'node_stone' if normal stone types not detected (''paramat'')
 +
* Cavegen: Fix errors when getting biome outside mapchunk (''paramat'')
 +
* Cavegen: Re-order generation to fix cavern bug (''paramat'')
 +
* Cavegen: Avoid unsupported biome 'top' or 'filler' nodes (''paramat'')
 +
* valleys mapgen: Fixed submarine valleys shape (''Gael-de-Sailly'')
 +
* settingtypes.txt: Fix valleys dungeon ymax error (''paramat'')
 +
* L-system: Fix leaves cutting through stems (''HybridDog'')
  
* Minimum version supported is now 0.4.11
+
==== Items and nodes ====
 +
* Pointed thing to face pos: Use 'eye height' object property (''paramat'')
 +
* Ensure no item stack is being held before crafting (''Luis Cáceres'')
 +
* core.rotate_node: Run callbacks like with any regular placed node (''SmallJoker'')
 +
* Don't try to craft a non-existent item (''Esteban'')
 +
* Fix rotated node placement (''tenplus1'')
 +
* Item drop: Tune to land exactly 2 nodes away with level view (''paramat'')
 +
* Check item_drop amount clientside (''rubenwardy'')
 +
* Fix Android node selection distance (''juhdanad'')
 +
* Safe digging and placing (''bendeutsch'')
 +
* Fix for empty key/value when reading item string with wear but no metadata (''Jesse McDonald'')
 +
* Inventory: Fix wrong stack size behaviour and item loss (''SmallJoker'')
  
=== Features ===
+
==== Objects/entities ====
 +
* Fix objects colliding with their children (''SmallJoker'')
 +
* core.spawn_falling_node: Keep metadata (''SmallJoker'')
 +
* Collision engine: Collide with 'ignore' nodes (''paramat'')
 +
* falling.lua: Delete falling node entities on contact with 'ignore' (''paramat'')
 +
* Position entity nametags relative to selection-box (''stujones11'')
 +
* Damage: Remove damage ignore timer (''SmallJoker'')
 +
* Item entities: Enable item collision detection for sudden movement (''DTA7'')
 +
* Ease selection of entities behind nodes (''SmallJoker'')
 +
* Object properties: Fix loss of custom selectionbox when it's not updated (''SmallJoker'')
 +
* GenericCAO: Fix light position for non-players, remove deprecated initialisation code (''SmallJoker'')
 +
* GenericCAO: Fix dark model below y = 0 (''paramat'')
 +
* CAO footstep sounds: Reduce gain to balance volume (''paramat'')
  
* Add 2D sheet animations for nodes ''(sfan5)''
+
==== Players ====
* Drop client side chat prediction. No more messages shown to chat when you talk and you are disconnected. ''(red-001)''
+
* Make player liquid speed independent of FPS (''paramat'')
* Add particle animation, glow ''(sfan5)
+
* Run detach callbacks on player leave (''SmallJoker'')
* Server list: add ping indicators ''(kilbith)''
+
* Localplayer: Fix disable_jump effect and getStandingNodePos() (''SmallJoker'')
* Server side occlusion culling ''(lhofhansl)''
+
* Android stepheight: Only increase if 'touching ground' (''paramat'')
* New custom progress bar (you can customize it with texture packs) ''(kilbith)''
+
* Respect object property hp_max field for players (''SmallJoker'')
* Implement delayed shutdown for server owners: /shutdown 60 => shutdowns in 1 min /shutdown -1 cancels it ''(nerzhul)''
+
* Do not add base position to player selection box (''stujones11'')
* Add support for requesting a reconnect and changing the shutdown message to /shutdown ''(red-001)''
+
* Abort if static_spawnpoint is an invalid setting instead of just giving an error log (''HybridDog'')
* Add a mapblock cache in MeshUpdateQueue to improve client rendering performance ''(celeron55)''
+
* Fix error not printed to console when no name is provided (''juozaspo'')
* 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 http://wiki.minetest.net/Database_backends for compat matrix and migration steps. ''(nerzhul)''
+
* Fix player coordinate rounding in collisionMoveSimple() (''JRottm'')
* Sounds: add fading sounds ''(Bremaweb, krock)''
+
* Sneak: Stripped down version (''SmallJoker'')
* Save automatically window size when modified. This behaviour can be disabled in client settings ''(nerzhul)''
+
* (Re)spawn players within 'mapgen_limit' (''paramat'')
* Add cancel button to password change formspec ''(red-001)''
+
* Stop autoforward on BACKWARD key-press (''tukkek'')
* Improve pause menu with more user friendly informations and update keys dynamicly depending on your configuration ''(red-001)''
+
* Apply physics overrides correctly during anticheat calculations (''sfan5'')
* 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 ===
+
==== Modding ====
* Breath cheat is now definitively fixed. Hacked clients cannot ignore breath anymore. ''(nerzhul)''
+
* Fix builtin Lua function os.tempfolder (''nOOb3167'')
* Fix node damage cheat. They are now calculated server side. Hacked clients cannot ignore node damages anymore (fire, lava, cactus...). ''(nerzhul)''
+
* Fix isNan check for object:set_yaw(..) (''nerzhul'')
* Disallow dropping items while dead. ''(sfan5)''
+
* Fix LuaJIT include directory not being found (''rubenwardy'')
* Calculate maximum interact distance from wielded tool. ''(sfan5)''
+
* Check argument types inside MetaDataRef Lua API (''sfan5'')
 +
* Fix buffer parameter not working in LuaPerlinNoiseMap::l_getMapSlice() (''pgimeno'')
 +
* Fix naming conventions of noise userdata (''rubenwardy'')
 +
* Fix rounding error in g/set_node caused by truncation to float (''rubenwardy'')
 +
* Vector fun
 +
* CAO footstep sounds: Reduce gain to balance volume (''paramat'')aramat'')
 +
* Fix default item callbacks to work with nil users (''raymoo'')
 +
* on_death: Fix callback number of pushed arguments (''SmallJoker'')
 +
* Fix core.wrap_text and make its behaviour consistent with the docs (''sfan5'')
 +
* Trigger on_rightclick regardless on the formspec meta field (''SmallJoker'')
 +
* LBM: use range based for and fixed a loop variable overloading in applyLBMs (''nerzhul'')
 +
* Fix deserialization of ItemDefinition (''Rui-Minetest'')
 +
* Plantlike meshoptions: Fix inverted random vertical offset (''numberZero'')
 +
* Player hand list: require init by mods (''SmallJoker'')
  
=== Bug fixes and Improvements ===
+
==== Debug ====
 +
* Fix missing logs from warningstream (or similar) (''HybridDog'')
 +
* Fix off-by-one in log output line length (''pgimeno'')
 +
* Profiler: Fix var args not being passed to callback register function (''rubenwardy'')
  
* Little antispam fix ''(nerzhul)''
+
==== Internal / code quality ====
* Fix a little bit fog calculations ''(lhofhansl)''
+
* Add a MSVC / Windows compatible snprintf function (''nOOb3167'')
* Fix player deletion problem when too many objects are in a mapblock ''(nerzhul)''
+
* Fix memory leaks in mod storage (''nerzhul'', ''red-001'')
* Better block sending priorities to send map to players ''(???)''
+
* Fix rtt >= 0.0f assertion and free_move crash (''SmallJoker'')
* Sneaking changes ''(krock, paramat, sfan5)''
+
* Global new() or grab() to be managed in constructor only (''JDCodeIt'')
* Huge ABM handling code performance improvement ''(nerzhul)''
+
* Node resolver: Make error on fallback optional, disable for mapgen aliases (''paramat'')
* Smooth lighting for all nodes ''(numberZero)''
+
* FOV: Raise lower limit to avoid zoom-loading of distant world (''paramat'')
* Added mesh generation delay ''(numberZero)''
+
* Fix many issues reported by clang-tidy (''nerzhul'')
* PostgreSQL bugfix on blocks deletion ''(nerzhul)''
+
* Fix various clang-tidy reported performance-type-promotion-in-math-fn (''nerzhul'')
* Windows integration enhancements ''(???)''
+
* Selected ItemStack: Reduce black magic and improve the stack swapping behavior (''SmallJoker'')
* Wieldmesh natural orientation ''(kilbith)''
+
* core.rotate_node: Do not trigger after_place_node (''SmallJoker'')
* Memleak fix on client disconnection ''(nerzhul)''
+
* Sound: fix static initialization order dependency by not having one (''nOOb3167'')
* Various performance fixes ''(???)''
+
* Fix various Client class functions not marked as override (virtual) (''nerzhul'')
* Fix Windows icon ''(adrido)''
+
* Guard sound manager initialization with "enable_sound" (''nOOb3167'')
* Fix various minor memleaks ''(nerzhul?)''
+
* Fix an alone if to be with a missing else (''nerzhul'')
* Recent LuaJIT fixes ''(nerzhul)''
+
* Drop texture file list cache (''numberZero'')
* Reduce network packet reading/writing memory usage ''(???)''
+
* Variable name fix + structure creation unrolling in lighting code (''nerzhul'')
* Binding tab now doesn't exit game when used ''(sofar)''
+
* getv3intfield: Fix logic of return bool (''paramat'')
* Light update for mapblocks ''(juhdanad)''
+
* Generate Notifier: Clear events once after all 'on generated' functions (''paramat'')
* Client: reduce fake object reactions in client event queue ''(nerzhul)''
+
* Fix Wstringop-overflow warning from util/srp.cpp (''HybridDog'')
* Crashfix when reading schematic calls from API in some cases ''(nerzhul)''
+
* Tool getDigParams: Fix selecting the best fitting time (''HybridDog'')
* Limit sound volume when incorrect value was set into config ''(???)''
+
* Fix undefined behaviour on getting pointer to data in empty vector (''nOOb3167'')
* Fix Cursor lock problem when window is inactive ''(krock)''
+
* Use Irrlicht's mesh cache for animated meshes. (''lhofhansl'')
* Particles are now sent to client regarding distance (huge performance improvement on particle servers) ''(paramat)''
+
* Shut down mapgen threads before other shutdown tasks (''raymoo'')
* Really disable minimap when disabled in configuration ''(nerzhul)''
+
* Allow zoom to actually show more data. (''lhofhansl'')
* Fix a damage bug when falling from a very high height ''(red-001)''
+
* Make use of safe file writing in auth handler (''sfan5'')
* Various documentation fixes ''(???)''
+
* Fix inventory drag drop flag (''asl97'')
* Expose singlenode mapgen to menu ''(nerzhul)''
+
* Fix strict_protocol_version_checking functionality after ee9a442 (''SmallJoker'')
* Dropdown menu selection fix ''(red-001)''
+
* Fix empty legacy meta being persisted (''rubenwardy'')
* Tooltip display unification between tooltip[] and list[] ''(krock)''
+
* Lint fix on localplayer.h (''nerzhul'')
* ServerActiveObjects are now removed when overtaking map limits ''(nerzhul, paramat)''
+
* Sort box corners correctly (''Thomas--S'')
* Chat console height can now be set by the player. ''(Shara RedCat)''
+
* Remove unused Map::getDayNightDiff + fix one undefined variable in mapblock.cpp (''nerzhul'')
* Additional option added to node highlighting drop-down. ''(Shara RedCat)''
+
* Check node updates whether the blocks are known (''SmallJoker'')
 +
* Really delete things in fs::RecursiveDelete (''Vitality'')
 +
* Disable HW stereo for IrrLicht 1.9  (''numberZero'')
  
=== Client Modding ===
+
==== Misc. ====
* 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.
+
* Fix for translating empty strings (''minduser00'')
* You will also have access to Client side commands, starting with a dot.
+
* Positional sound: Limit volume when closer than 1 node (''paramat'')
* If you want to know more about CSM API, please look at [https://github.com/minetest/minetest/blob/master/doc/client_lua_api.md Client Side Modding documentation]
+
* Change the server description after a search (''Dumbledor'')
* Added by nerzhul, red-001, bigfoot547, Dumbeldor and paly2.
+
* Fix no sound bug (''Rui-Minetest'')
 
 
=== 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 ===
 
=== Other / Misc ===
  
* Redis backend authentication support ''(sfan5)''
+
* Version scheme change: 0.5.0 -> 5.0.0 (''nerzhul'')
* PostgreSQL < 9.5 support ''(???)''
+
* Move ASCII art to std::cerr, to remove it from logs (''rubenwardy'')
* Code refactoring (Game, Environments) ''(???)''
+
* PlayerSettings struct for player movement code (''bendeutsch'')
* Introduce clang-format on repository to check and reformat C++ code with our rules (~15% source code managed) ''(nerzhul)''
+
* Client eventmanager refactor (''nerzhul'')
* Move external libs outside of src/ to lib/ ''(nerzhul)''
+
* Update mesh collector and move it to a separate file (''numberZero'')
* Update jsoncpp embedded lib to last C++03 version (0.10.6) ''(nerzhul)''
+
* Add Voxelarea unittests (''nerzhul'')
* Disable leveldb on Android ''(Ekdohibs)''
+
* VoxelArea: add_{x,y,z,p} must be static (''nerzhul'')
* Implement daily gitlab package build for Debian/Ubuntu/Fedora ''(nerzhul)''
+
* Cleanup in flat lighting (''numberZero'')
* Translations updates ''(Multiple people)''
+
* Node definition manager refactor (''juhdanad'')
 
+
* Move 'setlocale' from Lua to C++. (''red-001'')
=== Minetest Game changes ===
+
* Rewrite rendering engine (''numberZero'')
 
+
* Improve the path select GUI (''red-001'')
== 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: https://forum.minetest.net/viewtopic.php?p=243949#p243949
 
 
 
== 0.4.13 → 0.4.14 ==
 
 
 
0.4.14 was released on May 15, 2016.
 
 
 
=== Features ===
 
 
 
* 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)
 
 
 
=== Modding ===
 
 
 
* 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)
 
 
 
=== Mapgen ===
 
 
 
* 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 CONTRIBUTING.md (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.
 
 
 
=== Features ===
 
 
 
* 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 world.mt (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 (y.st, 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)
 
 
 
=== Modding ===
 
 
 
* 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 games (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)
 
 
 
=== Mapgen ===
 
 
 
* 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 world.mt and respect modes when changing game (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 ===
 
 
 
'''v5:'''
 
 
 
* 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'')
 
 
 
=== Tweaks ===
 
 
 
* Increased step height on Android (''sapier'')
 
* Increased default <code>font_size</code> (''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 <code>NDT_GLASSLIKE</code> 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 <code>vein</code> and <code>blob</code> ore type (''kwolekr'')
 
* Change assignment to global in a function to warning (''rubenwardy'')
 
 
 
=== Vanilla game changes (minetest_game) ===
 
 
 
==== Gameplay ====
 
 
 
* 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'')
 
 
 
==== Visuals ====
 
 
 
* 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'')
+
== Older versions (pre-5.0.0) ==
 +
If you want to see older versions (older than 5.0.0), please go to [[OldChangelog|this page]].
  
 
[[Category:Root-Category]]
 
[[Category:Root-Category]]
 
[[Category:Compiling Minetest]]
 
[[Category:Compiling Minetest]]

Latest revision as of 15:47, 28 April 2024

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.

5.7.0 → 5.8.0

Released on 4 December 2023.

Deprecations and compatibility notes

  • Minetest Game is no longer the default game and will no longer be shipped by Minetest. If you want it back, install it by using the “Content” tab
  • lua_api.txt has been converted to Markdown and renamed to lua_api.md
  • Android now builds via CMake (sfan5)
  • Compiling: C++17 support is now required
  • Node definition field air_equivalent is now documented—as deprecated.
  • Reading/defining initial object properties directly from an entity definition is deprecated; they should be moved to initial_properties

Client / Audiovisuals

  • Main menu: Redesign and unify settings interface (rubenwardy, grorp, icon by Zughy)
  • Main menu: better prompt to install a game when none is installed (ROllerozxa)
  • Main menu: various fixes (grorp, ROllerozxa)
  • ContentDB GUI: Load package list asynchronously (grorp)
  • Option to invert direction or disable mouse wheel for hotbar item selection (srifqi)
  • Inventory mouse shortcut improvements (OgelGames)
    • Holding down Shift+click while moving the mouse over item slots now continously moves items to other inventory (if available)
    • Press Shift+click on the crafting output slot to craft and move result to inventory
      • Left mouse button: Craft as many as possible
      • Mouse wheel: Craft 10 times
      • Right mouse button: Craft once
    • Drag an item stack over empty slots to split stacks evenly
    • Hold down Left mouse button while holding an item stack and move the cursor over the slots to pick up items of the same type
    • Double-click an item stack to pick up all items of the same type in this inventory
  • Implement check_offset for decorations (nephele-gh)
  • Touchscreen input improvements (srifqi)
  • Rendering-related performance improvements and fixes (numberZero)
  • Add antialiasing filters (FXAA, SSAA) (x2048)
  • Reverse eye-offset Z-coordinate in 3rd person front view (lhofhansl)
  • DPI-aware crosshair (grorp)
  • Prevent early respawns caused by up/down button in the death screen (srifqi)
  • Sounds and animations are now paused in pause menu in singleplayer (DS)
  • Android: Place nodes with single tap (grorp)
  • Android: Higher default graphics settings (grorp)
  • Android: Auto-detect locale (grorp)
  • Android: ignore broken language files (srifqi)
  • X11 (Linux): Add primary selection (copy & paste via select & middleclick) support (DS)

World / Server / Environment

  • Major speedup for crafting shapeless craft recipes (Hocroft-Karp algorithm) (DS)
  • Fix crash on handling wallmounted nodes with invalid param2 (savilli)
  • Fix biomes not repecting their Y limits (Radar6255)
    • Especially thin biomes will now be generated as intended.
  • Saner (HTTP) timeout limits and log messages (sfan5)

Script API / Modding

  • Reading/defining initial object properties directly from an entity definition is deprecated; they should be moved to initial_properties
  • Add ability to override item images using ItemMetaData (rubenwardy)
  • Add node pos to node damage HP change reason (Radar6255)
  • Add vector.in_area() utility function (AFCMS)
  • Add focused styling to buttons (rubenwardy)
  • Add min/max protocol version to minetest.get_version() (BuckarooBanzay)
  • Add additional texture modifiers (Treer)
  • Add node group disable_descend to disable actively descending down climbable nodes and nodes with liquid move physics (Wuzzy)
  • Add VoxelArea::intersect() (sfan5)
  • Allow nodes to have their post_effect_color affected by lighting (grorp)
  • Fix potential freeze in core.check_for_falling (savilli)
  • Send everlasting particle spawners to all players (chmodsayshello)
  • Allow place_param2 = 0 node placement predictions (SmallJoker)
  • New player physics overrides for climb speed, sneak speed, acceleration, liquid fluidity and liquid sink speed (#11465) (Wuzzy)
  • Allow to set custom third person front view camera offset (grorp)
  • Add script to update/generate mod translations: util/mod_translation_updater.py (Wuzzy)
    • See util/README_mod_translation_updater.md for details
  • Add start_time to sound parameter tables (part of #12764) (DS)

Misc / Maintenance

  • Entity/Object fixes and unittests (numberZero)
  • Lua environment cleanups and improvements (sfan5)
  • Various documentation improvements (Zughy, Wuzzy)
  • Inventory code fixes (SmallJoker, DS)
  • Many various code fixes (sfan5, grorp, srifqi)
  • Opt-out option for Doxygen generation on build (nerzhul)
  • Sound code cleanups and improvements (#12764) (DS)
    • Long sounds in sound packs, or sent via dynamic media, no longer cause client freezes on load
    • Positional sounds can be faded now
    • Documentation
    • Other improvements listed elsewhere
  • Faster client load times (#12764 and irr#233) (DS)

Minetest Game

  • Minetest Game is no longer the default game and no longer installed by default
  • New water textures (the old ones were non-free) (Lopano)
  • Improve leaves textures in "Opaque Leaves" mode (Wuzzy)
  • When a player dies in protected air, bones now spawn as a block instead of dropping as an item (OgelGames)
  • Add API for sapling growth (aegroto)
  • Hook callbacks for default.set_inventory_action_loggers (appgurueu)
  • Fix logic error in bed rotation (fluxionary)
  • Fix coral and kelp duplication glitch with sticky piston from Mesecons mod (zmv7)
  • Fix players being able to skip many nights at once by spam-clicking bed (appgurueu)
  • Fix not updating vessel shelf infotext (Niklp)
  • Fix bookshelf infotext not updating when adding, removing or moving items inside (Montandalar, appgurueu)
  • Update translations: German (Wuzzy), Spanish (David Leal), Ukrainian (Andriy), French (xin)

5.6.0 → 5.7.0

Released on 8 April 2023

Deprecations and compatibility notes

Client / Audiovisuals

  • Fix main menu error when submitting invalid port numbers (GoodClover)
  • Fix ChatPrompt crash in very narrow windows (DS)
  • Fix missing shadows when sun tilt is zero (x2048)
  • Android: Make OpenGLES 2 the default driver (ROllerozxa)
  • 8x block meshes for improved performance (x2048)
    • Configuration options and bugfixes (lhofhansl, x2048)
  • Decrease minimum for repeat_place_time (DS)
  • Fix Enter key after creating a new world (srifqi)
  • Improve chat history (TurkeyMcMac)
  • Add dynamic exposure correction (x2048)
    • This is also configurable by the Lua API
  • Improve the occlusion culling algorithm (i.e. better efficiency) (x2048)
  • Use multiple threads for mesh generation (i.e. faster rendering) (x2048)
  • Removed pageflip 3D mode (because broken) (ROllerozxa)
  • Fix progress bar look on HiDPI displays (kilbith)
  • Fix plantlike_rooted world-aligned node base textures (TurkeyMcMac)
  • Fix issues caused by attached node placement prediction (TurkeyMcMac)
  • Avoid shadow flicker at certain angles (x2048)
  • Chat: fix the unicode characters crowded together on prompt (snowyu)
  • Take geographic distance into account for server list ordering (sfan5)
  • Fix sneaking on nodes with large collision boxes (SmallJoker)
  • Faster light calculations for rendering (TurkeyMcMac)
  • Android: Improve double-tap for jump detection (srifqi)
  • Add Bloom shader (x2048)
  • Restore and enhance bouncy behavior (pecksin)
    • Bouncy nodes now let you control the jump height with the jump/sneak keys
  • Fix liquid drawtype faces sometimes not rendering (Wuzzy)
  • Apply DPI Scaling to the main menu (ElliottLester)
  • Improve shadow updates efficiency (x2048)
  • Textures: introduce world-align overrides (SmallJoker)
  • Fix crash when stars are reset (Zughy)

World / Server / Environment

  • Reduce server CPU consumed by occlusion culling (lhofhansl)
  • Improve loaded block handling (i.e. better efficiency) (lhofhansl)
  • Fix /help privs checks (TurkeyMcMac)
  • Add mod storage PostgreSQL backend (TurkeyMcMac)
  • Update floating nodes when liquid underneath vanishes (TurkeyMcMac)
  • Add zstd compression support to API function (20kdc)

Script API / Modding

  • Server: Fix error caused by sending too long chat messages (SmallJoker)
  • Correct handling of leftover items in core.item_eat (DS)
  • Various lua_api.txt clarifications and fixes (Wuzzy, jordan4ibanez, kab0u, veprogames, aerkiaga, DS)
  • Improve minetest.close_formspec server-side safety (luk3yx)
  • Handle nodes changed within another LBM and ABM loop (TurkeyMcMac)
  • Fix segfault caused by invalid PNG data in [png: (SmallJoker)
  • Add minetest.get_player_window_information() (rubenwardy, DS (bugfix))
  • Make body_orbit_tilt configurable (sofar)
  • Add chat HUD flag (#13189) (GreenXenith)
  • Improve MetaDataRef:{get,set}_float precision (TurkeyMcMac)
  • Fix error caused by an empty separator for string.split (TurkeyMcMac)
  • Add player:set_lighting( {saturation = float} ) (lhofhansl)
  • Add callback on_mapblocks_changed (TurkeyMcMac)
  • Improved Lua error handling (TurkeyMcMac)
  • Expose dtime_s to LBM handler (sfan5)
  • Let mods choose a forceload limit (TurkeyMcMac)
  • Add minetest.get_mapgen_edges (TurkeyMcMac)
  • Add minetest.get_game_info and allow reading game.conf (TurkeyMcMac)
  • Add support for facedir/4dir nodes to be attached with attached_node (Wuzzy)
  • Add additional attached_node options: always attach to ceiling, always attach to floor (Wuzzy)
  • Fix errors caused by schematic reading (TurkeyMcMac)
  • Fix set_nametag_attributes resetting the text in subsequent calls (snowyu)
  • game.conf: Add setting to use volatile a map backend (SmallJoker)
  • Allow rotating entity selectionboxes (appgurueu)
  • Add VoxelArea() constructor for easier use (TurkeyMcMac)
  • Fix formspec focus issue caused by empty element names (DS)
  • Faster vector, node and content ID access when using LuaJIT (TurkeyMcMac)
  • Speed up find_nodes_in_area (TurkeyMcMac)
  • Add an item pick up callback (DS)
  • Implement tool use sounds (sfan5)
  • Fix inconsistent craft replacement behavior (Wuzzy)
  • Fix potential error in craft recipes (savilli)
  • Add paramtype2s 4dir and color4dir for 4 horizontal rotations and 64 colors (Wuzzy)
  • Bugfix: Allow looped animation to be used safely with old clients (sfan5)
  • Reassure previous nil behaviour for tiles and special_tiles (Zughy)
  • Add buffer argument to VoxelManip:get_light_data (TurkeyMcMac)
  • Fix crash when crafting callbacks return strings (Zughy)

Misc / Maintenance

  • Fix crash while exiting to the main menu on macOS (x2048)
  • Rendering code cleanups (x2048)
  • Fix occasional black screen on startup (x2048)
  • Android: Build and logging improvements (sfan5)
  • Improve installation instructions (lynx197, sofar, tamara-schmitz)
  • Various code cleanups and optimizations (sfan5, ROllerozxa, nerzhul, GermanAizek)
  • Implement --debugger option to improve UX when debugging crashes (sfan5)
  • Various Development Test changes
    • Many, many additions and improvements (Wuzzy)
    • Add jukebox and branding iron (DS)
  • Development Test is no longer officially distributed with Minetest releases
  • Android: various maintenance and fixes (srifqi)
  • Unittest improvements (Wuzzy, TurkeyMcMac, rubenwardy)

Minetest Game

  • Limit and sanitize formspec fields (appgurueu)
  • Fix player_api.set_model not updating the animation (appgurueu)
  • Ensure chests close properly (fluxionary)
  • Ensure proper creative hand override (AntumDeluge)
  • Fix error if /home is executed with an invalid name (zmv7)
  • Fix wall craft registrations (alek13)
  • Screwdriver: 4dir node support (Wuzzy)

5.6.0 → 5.6.1

Released on 19 September 2022.

Client / Audiovisuals

  • Fix tooltips for dropdown, scrollbar and more (Desour)
  • Allow the comma as clickable URL component (pecksin)
  • Correct the entity glow calculation (x2048)
  • Get the setting texture_min_size to work again (fluxionary)
  • Scale hardcoded/integrated GUIs with the system-reported DPI (ElliottLester)
  • Overwriting a package via "Content" no longer triggers an error (rubenwardy)

World / Server / Environment

  • Fix potential use-after-free with item metadata (TurkeyMcMac)
  • Compatibility patch to not freeze older clients due to negative "frame_length" Tile Animation values (sfan5)
  • Dynamic shadows performance improvement by delaying non-urgent mapblocks (x2048)

Script API / Modding

  • Fix several crashes caused by clear_craft in combination with aliases (savilli)
  • Serialization: Restore (full) pre-5.6.0 compatibility (appgurueu)
  • LuaJIT: Workaround to allow larger serializations (appgurueu)
  • Enforced hp_max > 0 for entities (appgurueu)
  • Node Definition "tiles" and "special_tiles" again default to nil when not specified (Zughy)
  • Allow minetest.register_on_craft to return strings (was: ItemStack) (Zughy)
  • ObjectRef:set_stars to reset the stars no longer throws an error (Zughy)

Misc / Maintenance

  • x86 Android build fixes (savilli)

5.5.0 → 5.6.0

Released on 4 August 2022

Deprecations and compatibility notes

  • name in game.conf is deprecated for the game title
    • For specifying the game title from now on, use title instead

Client / Audiovisuals

  • Dynamic shader-based shadows for: nodes, entities, wield (x2048)
    • Includes many, many bugfixes and improvements (tuning, performance)
  • Fixed statbar HUD background scaling and numbering (appgurueu)
  • Apply texture pack main menu textures immediately (ROllerozxa)
  • Fix footsteps for players whose collision box min y != 0 (grorp)
  • Add depth sorting for node faces (x2048)
    • This fixes appearance issues when looking through multiple semi-transparent nodes.
    • This works only up to a distance of 16 nodes by default. Use the transparency_sorting_distance setting to adjust this
  • Optimize swapping nodes with equivalent lighting (TurkeyMcMac)
  • Fix item entity Z-fighting (appgurueu)
  • Use mod names/titles instead of technical names to display (GoodClover)
  • Fix texture packs not showing as enabled in mainmenu (rubenwardy)
  • Debug screen now shows "<unknown node>" at the top if an unknown node is pointed (Wuzzy)
  • Enable chat clickable weblinks by default (Ctrl+Click) (Froggo)
  • HUD: Fix outdated selection boxes (appgurueu)
  • Make no_screenshot image more clear (Zughy)
  • Add register dialog to separate login/register (rubenwardy)
  • No damage effects on hp_max change (appgurueu)
  • Fix updating glow and light calculation on entities (sfan5)
  • Fix unknown nodes sometimes displaying the "no texture" instead of the "unknown node" texture (Wuzzy)

World / Server / Environment

  • Distinct mod path values in world.mt to avoid issues with duplicated mod names (rubenwardy)
  • Fix broken server startup if curl is disabled (sfan5)
  • Increase max. objects per block defaults (appgurueu)
  • Builtin: Allow to revoke unknown privileges (SmallJoker)
  • Fix some textures not being sent correctly to older clients (Oblomov)
  • Fix several registration/authentication related issues (sfan5)
  • Fix dependency enabling of mods and modpacks (rubenwardy, TurkeyMcMac)
  • Fix cooking and fuel crafts with aliases (TurkeyMcMac)
  • Commands: Some numbers can be replaced or prepended with "~" for values relative to the current one (Wuzzy)
    • "~" is equivalent to "~0"
    • Supported commands: /deleteblocks, /emergeblocks, /fixlight, /spawnentity, /teleport, /time
    • Example: "/teleport 15 ~5 ~" teleports to (15, <current Y coordinate plus 5>, <current Z coordinate>)
  • Don't allow banning in singleplayer (sfan5)
  • Docs: Add description of privileges (x2048)
  • Increase max FPS on Android to 60 (ROllerozxa)
  • Add many limits to settingtypes + engine (Wuzzy, SmallJoker)
  • Reorganise settingtypes.txt (rubenwardy)

Script API / Modding

  • Improved formspec documentation (DS)
  • Optimization: Send HUD flags only if they changed (appgurueu)
  • Allow to set the displayed item count and its alignment via item meta: count_meta, count_alignment (DS)
  • Add support for 'seed' in disallowed_mapgen_settings (Wuzzy)
  • List of documentation improvements:
    • AreaStore (SmallJoker)
    • Lua vector helper class (sfan5)
    • spawn_by for decorations (Zughy)
    • LBM documentation (TurkeyMcMac)
    • Overall improvements (sfan5)
  • Allow get_sky to return a table of all sky-related parameters (Zughy)
  • Add basic_debug HUD flag to control display of debug info like position in the debug screen (on by default) (appgurueu)
  • Fix memory leak from SpatialAreaStore (setupminimal)
  • Add function ObjectRef:set_lighting() to control shadow intensity from the game/mod (x2048)
  • Fix '[combine' when EVDF_TEXTURE_NPOT is disabled (paradust7)
  • hud_get: Return precision field for waypoint (appgurueu)
  • Add Async environment for parallelized Lua code execution (sfan5)
    • minetest.handle_async
    • minetest.register_async_dofile
  • Fix Minetest blaming the wrong mod for errors (appgurueu)
  • Deprecate game.conf name, use title instead (#12030) (rubenwardy)
  • Protect a few more settings from being set from mods (sfan5)
  • Add function ObjectRef:respawn() to invoke player respawn (sfan5)
  • Handle Lua entity HP changes correctly (like punches) (sfan5)
  • Add tool helper function ItemStack:add_wear_by_uses() to add tool wear in such a way that it has a given number of uses (Wuzzy)
  • Add minetest.get_tool_wear_after_use to simulate tool wear when expecting it to break after a given number of uses (Wuzzy)
  • on_deactivate entity callback: distinguish removal and unloading (appgurueu)
  • Remove tile_images and special_materials obsolete code (Zughy)
  • set_stars: Allow to set maximum star opacity at daytime with day_opacity (Wuzzy)
  • FormSpec: 9-slice images, animated_image, and fgimg_middle (v-rob)
  • Animated particle spawners (velartrill)

Misc / Maintenance

Code details are intentionally omitted due to the changelog target audience's interests.

  • Fix macOS compile instructions (sfan5)
  • Various C++ code cleanups and improvements (TurkeyMcMac, sfan5, Oblomov, SmallJoker, Octavian, RichardTry, savilli, JosiahWI)
  • List of DevTest game improvements:
    • TGA test nodes (ehrlemann)
    • Test weapons and armorball modes (Wuzzy)
    • Nodes and items for testing overlays (Wuzzy)
    • Entity lifecycle and callbacks (sfan5)
    • Item metadata editor (Wuzzy)
  • Minetest now uses C++14
  • Remove direct OpenGL(ES) dependency (sfan5)
  • Compile Lua as C++ to properly catch exceptions (TurkeyMcMac)
  • Build system improvements (sfan5, ShadowNinja, LoneWolfHT)
  • Run automated tests when Lua files change (x2048)
  • Add JSON (de)serialization benchmarks (paradust7)
  • Performance optimizations by caching (mapblocks, collisionbox) (sfan5)
  • Add more Prometheus metrics (sfan5)
  • Add documentation to list breaking changes for the next major release (Zughy)
  • Patch built-in Lua to fix miscompile on Android (paradust7)
  • Fix BSD iconv declaration (savilli)
  • Fix Android input box crash (ROllerozxa)


Minetest Game

  • Improved cart movement behavior (SmallJoker)
    • Improved direction handling
    • Smoother-out 'end-of-rail' animation
    • Other improvements
  • Dynamic shadow intensity increases with cloud density (only has an effect if you have dynamic shadows enabled) (lhofhansl)
  • Allow mods to override player animation globalstep with player_api.globalstep (LoneWolfHT)
  • Log API added (nixnoxus)
  • Fix crash if player has no model (Lars Mueller)
  • Fix broken get_animation in player_api (bell07)
  • Fix furnace fire sound continuing to play after being destroyed (Wuzzy)
  • Fix TNT blowing up ignore nodes (Wuzzy)
  • Fix some hoes not breaking after the intended number of uses (Wuzzy)
  • Fix book duplication glitch (appgurueu)
  • Fix incorrect behavior of glass and obsidian glass if param2 was changed (appgurueu)
  • Fix cart sometimes facing the wrong way at slopes (not a 100% perfect bugfix tho) (SmallJoker)
  • New translation: Polish (mrubax10)
  • Translation updates: Ukrainian (baytuch), Russian (baytuch), German (Wuzzy), Lojban (Wuzzy), Esperanto (quarthex)

5.5.0 → 5.5.1

Released on 15 May 2022.

World / Server / Environment

  • Fix server crash due to duplicate user registrations (sfan5)
  • Fix cooking and fuel crafts with aliases (Jude Melton-Houghton)
  • Fix some textures not being sent correctly to older clients (Giuseppe Bilotta)
  • Fix broken server startup if curl is disabled (sfan5)
  • Fix password changing getting stuck if wrong password is entered once (sfan5)
  • Apply disallow_empty_password to password changes too (sfan5)

Client / Graphics

  • Fix various issues with Select Mods and Content (rubenwardy, Jude Melton-Houghton, Alex)
  • ContentDB: Fix ungraceful crash on aliases when list download fails (rubenwardy)
  • Fix performance issue due to hardware buffer counters (paradust7)
  • HUD: Update selection highlight every frame to avoid glitches (Lars Müller)
  • Fix '[combine' when EVDF_TEXTURE_NPOT is disabled (paradust7)
  • Fix footsteps for players whose collision box min y != 0 (Gregor Parzefall)
  • Fix undefined behavior in TileLayer (Daroc Alden)
  • Use absolute value for bouncy in collision (pecksin)
  • Fix builtin statbar backgrounds (Lars Mueller)

Misc

  • Fix possible unreliable behavior due to uninitialized variables (Octavian)
  • Fix Minetest blaming the wrong mod for errors (Lars Müller)
  • Fix some memory leaks (SmallJoker, Daroc Alden, Daroc Alden)

Minetest Game

  • player_api mod: Fix crash if player has no model (appgurueu)
  • player_api mod: Mods can now override globalstep by overriding player_api.globalstep (LoneWolfHT)
  • Shadow intensity (of dynamic shadows) changes with weather (lhofhansl)
  • Some cart movement behavior fixes (SmallJoker)
  • Fix some translations in uk and ru locales (baytuch)

5.4.0 → 5.5.0

Released on 30 Jan 2022.

Deprecations and compatibility notes

  • FORMSPEC_API_VERSION is now 5
  • New maps are now zstd compressed to reach faster and/or more efficient compression
  • Switched to our own fork of the rendering engine: IrrlichtMT
    • Removed support for DirectX
    • Dropped support for obscure and undocumented file formats: pcx, ppm, psd, wal, and rgb
  • Modding: Missing "mod.conf" is now deprecated. Results in warnings (rubenwardy)
    • Add mod.conf with name = yourmodname
  • Modding: depends.txt and description.txt are now deprecated
    • Specify dependencies using "depends" and "optional_depends" in mod.conf
    • Specify description using "description" in mod.conf
  • Modding: Creating vectors like this: {x=1, y=2, z=3} is now deprecated
    • Use vector.new instead
  • Bitmap fonts are no longer supported
    • Use TTF fonts instead

Features: General

  • Add game name to server status string (sfan5)
  • Improve TTF support for pixel-style fonts (v-rob)
  • Joystick support for DragonRise GameCube controller (Izzette)
  • Add "MINETEST_MOD_PATH" environment variable (emixa-d)
  • Touch UI support for desktop builds (#10729) (TheBrokenRail)
  • Switch MapBlock compression to zstd (lhofhansl)
  • Joystick sensitivity for player movement (NeroBurner) + fixes (sfan5)
  • Gettext support on Android (Pevernow)
  • Make web links in chat clickable (Feature disabled by default, use setting clickable_chat_weblinks) (pecksin)
  • Add a key to toggle display map block boundaries (F8 by default) (grapereader)
  • Improved wording of various chat command outputs (Wuzzy)
  • Normal texture support (for minimap shading) (again) (numberZero)
  • Scale mouse/joystick sensitivity depending on FOV (Elias Åström)
  • Various DevTest game additions and improvements (Wuzzy)
  • Chat commands: Show the execution time if the command takes a long time (HybridDog)
  • Improved item placement prediction (sfan5)
  • Anticheat: Faraway inventory access protection (SmallJoker)
  • Pause animations while game is paused (numberZero)

Features: Main menu and ContentDB

  • Chop game background in mainmenu (appgurueu)
  • ContentDB: Add support for package aliases / renaming (rubenwardy)
  • Improved "Join Game" tab (sfan5)
  • Builtin function translation (Wuzzy, Zughy)
  • Translation support for the builtin functions (Wuzzy, snowyu) + updates (Wuzzy, see CONTRIBUTING file)
  • Handle modpacks containing modpacks properly (Elias Fleckenstein)
  • Texture pack toggle by double clicking (Yaman Qalieh)

Features: Modding

  • Sky API: Reset by empty arguments (Zughy)
  • Use a database for mod storage (internal) + CSM auto-migration (TurkeyMcMac)
  • Add padding[] element to formspecs (#11821) (v-rob)
  • Disable inventory if player's inventory formspec is blank (ROllerozxa)
  • Add minetest.disconnect_player (Corey Powell)
  • Add Lua bitop library (Lejo)
  • Allow for game-specific menu music (ExeVirus)
  • Add minetest.rmdir, minetest.cpdir and minetest.mvdir (octacian)
  • Add no_texture.png as fallback for unspecified textures (Wuzzy)
  • Add minetest.get_server_max_lag() (Wuzzy)
  • Split node field 'liquid_viscosity' into two: liquid_viscosity (how fast liquid flows) and move_resistance (how much it slows players) (Wuzzy)
  • Improved dynamic_add_media functionality (sfan5)
  • Add group-based tool filtering for node drops (Treer)
  • Add disable_settings to game.conf to get rid of "Enable Damage"/"Creative Mode"/"Host Server" checkboxes (Df458)
  • Add a simple PNG image encoder with Lua API + texture modifier [png (hecks)
  • Add bold, italic and monospace font styling for HUD text elements (sfan5)
  • Add wallmounted support for plantlike and plantlike_rooted nodes (Wuzzy)
  • Add API for mods to hook liquid transformation events (Warr1024)
  • Add min_y and max_y checks for Active Block Modifiers (ABM) (sfence)
  • Add metatables to Lua vectors (DS)
  • Add minetest.compare_block_status function (SmallJoker)
  • Add minetest.colorspec_to_colorstring (v-rob)
  • Put torch/signlike node on floor if paramtype2=="none" (Wuzzy)
  • Return ObjectRef from minetest.spawn_falling_node() (benrob0329)
  • Modifyable player fall damage via armor group (Wuzzy)
  • Add vector.to_string and vector.from_string (#10323) (DS)
  • Add math.round and fix vector.round (v-rob)
  • Degrotate support for mesh nodes (numberZero) + fixes (sfan5, Wuzzy)
  • lua_api.txt: Fix style selector examples (Df458)
  • Nested Settings are now also contained in to_table (SmallJoker)

Bugfixes

  • Fix Minetest logo when installed system-wide (ROllerozxa)
  • Cancel emerge callbacks on shutdown (TurkeyMcMac)
  • Free arguments of cancelled minetest.after() jobs (sfan5)
  • Fix damage wraparound if very high damage (Wuzzy)
  • Cap damage overlay duration to 1 second (Wuzzy)
  • Rendering fixes: Add more neighbors on mesh update (numberZero)
  • Don't let HTTP API pass through untrusted function (sfan5)
  • Fix URL escaping in content store (sfan5)
  • Fix find_nodes_in_area misbehaving with out-of-map coordinates (sfan5)
  • Minimap: gamma-correct average texture colour calculation (HybridDog)
  • Fix item duplication if player dies during interact callback (sfan5)
  • View bobbing fixes (appgurueu)
  • Fix player HP desync between client and server (savilli)
  • Rendering fixes: Order drawlist by distance to the camera (x2048)
  • Fix crash when .conf release field is invalid (rubenwardy)
  • Performance: Fix client-side performance of chat UI (DS)
  • Fix HUD multiline text alignment (appgurueu)
  • Send correct updates to clients after node metadata clear (TurkeyMcMac)
  • Remove redundant on_dieplayer calls (savilli)
  • Fix 6th line of infotext being cut off in half (Wuzzy)
  • Validate staticdata and object property length limits (sfan5)
  • Fix scaled world-aligned textures being aligned inconsistently for non-normal drawtypes (Wuzzy)
  • Various lua_api.txt corrections and improvements (Df458, random-geek, Wuzzy, Francisco, Zughy)
  • Run on_grant and on_revoke callbacks after privs change (AFCMS)
  • Fix base64 validation and add unittests (appgurueu)
  • Fix cloud fog being broken for high clouds (Wuzzy)
  • Attachments: various bugfixes (SmallJoker)
  • Rendering engine fxes and cleanups (nerzhul)
  • Multiple OpenGL ES fixes (sfan5)
  • Make edit boxes respond to string input (IME) (yw05)
  • cURL timeout fixes and increased default timeout (sfan5)
  • Fix wield image of plantlike_rooted (Wuzzy)
  • Fix attached-to-object sounds volume (Desour)
  • Fix segfault for model[] without animation speed (kilbith)
  • Crash fix when models fail to load (sfan5)
  • Access protections for per-player detached inventories (SmallJoker)
  • mg_name and mg_flags can no longer be set by Lua (minetest.conf) (sfan5)
  • Interlaced 3D mode fixes (srifqi)
  • Fix hud_change and hud_remove functionality after hud_add calls (savilli)
  • Fix number of times a tool can be used before breaking being off by a number between 1 and 32767 (Wuzzy)
  • Various stability fixes (server and client crashes)

Maintenance

  • Rendering improvements: use dedicated GPU, improve frame calculations (sfan5)
  • Fully remove bitmap font support (use TTF now) (sfan5)
  • Restore GCC 5 compatibility (JosiahWI)
  • Remove creative/damage info in Esc/Pause menu (Wuzzy)
  • Update to Android target SDK 30 (rubenwardy)
  • Add macOS build docs (andkerr)
  • Android: Use scoped app storage (rubenwardy)
  • Make /status message easier to read (Wuzzy)
  • Clean up/improve some scriptapi error handling code (sfan5)
  • Add hint to error message on how to build with in-tree Irrlicht (20kdc)
  • Optimize vector length calculations (Lean Rada)
  • Remove hardcoded "You died." message in chat (Wuzzy)
  • Remove unsupported video drivers (hecks)
  • Document hypertext formspec element escaping (Wuzzy)
  • Drop --videomodes, fullscreen_bpp and high_precision_fpu settings (sfan5)
  • PostgreSQL fixes and improved error messages (sfan5)
  • Improved liquid documentation (Wuzzy)
  • Improved mipmapping-related code (sfan5)
  • Rendering engine was changed from Irrlicht to IrrlichtMt (Minetest's fork of Irrlicht) (sfan5)
  • Performance: Draw items as 2D images (instead of meshes) when possible (sfan5)
  • Sanity check: Block & report player self-interaction (appgurueu)
  • Multiple font code cleanups and improvements (sfan5)
  • IrrlichtMt switch related fixups (kilbith. sfan5, nerzhul))
  • Performance improvements during media/mesh loading (sfan5)
  • Json is now taken from the system by default (sfan5)
  • Various build bot and setup changes (sfan5)
  • Restructured "/teleport" command (HybridDog)
  • Consistent Aux1 key naming (Wuzzy)
  • Many many internal cleanups and fixes (sfan5, others)

Minetest Game

  • Add “Read” and “Write” tabs to book interface when you own the book (orbea)
  • Allow to write books without text or title (orbea)
  • Make identical keys stackable (Luis Royer)
  • Fix creative inventory trash slot not working for player named “trash” (Montandalar)
  • Fix sunlight propagation for glass stair/slab (An0n3m0us)
  • Fix glass bottle with firefly not being placable in vessels shelf (An0n3m0us)
  • Other bugfixes
  • Translations: Esperanto (Jason Cartwright), Russian (ptah-alexs), Japanese (nogajun), German (Wuzzy), Slovak (Daretmavi), French (Olivier Dragon), Swedish (ROllerozxa), Chinese (雷哲翰), Ukrainian (baytuch)

5.3.0 → 5.4.0

Released on 23 Feb 2021.

Deprecations and compatibility notes

  • Removed support for bumpmapping, generated normal maps, and parallax occlusion (Lars, hecks)
    • These features had fundamental issues, several bugs, and were broken on some platforms.
  • Deprecated node field value: use_texture_alpha = true/false
    • Fix: Use "clip", "blend" or "opaque" (see documentation)
  • Deprecated get_player_velocity and add_player_velocity (rubenwardy)
    • Fix: replace with get_velocity() and add_velocity()
  • Deprecated multiply and divide with two vectors (Schur product and quotient) (DS)
    • Fix: implement your own version
  • By default, the crosshair will now change to an "X" when pointing to objects. If your game had a custom crosshair, this might come as a surprise and break graphical consistency.
    • Fix: Specify object_crosshair.png image
  • Added deprecation warning for node field: alpha (only limited compatibility provided)
    • This was already deprecated and undocumented.
    • Fix: Replace by use_texture_alpha
  • Fixed deprecation warning when certain ores types ("sheet", "puff", "blob" and "vein") are missing noise_params (rubenwardy)
    • These ore types require noise_params. To keep the same behaviour, you can use the following values:
noise_params = {
    offset  = 0,
    scale   = 1,
    spread  = {x=250, y=250, z=250},
    seed    = 12345,
    octaves = 3,
    persist = 0.6,
    lacunarity = 2,
    flags = "defaults",
}

Features

General

  • Make 'place' and 'dig' keys freely configurable (only via minetest.conf for now: keymap_place and keymap_dig) (ANAND, Markus Koch)
  • Freely bindable mouse buttons (only via minetest.conf for now: KEY_LBUTTON, KEY_MBUTTON, KEY_RBUTTON) (ANAND, Markus Koch)
  • Add 'ores' global mapgen flag (Paramat)
  • Mapgen Flat: Add caverns, disabled by default (Paramat)
  • Semi-transparent background for nametags (Zughy, rubenwardy)
  • Disable object selectionboxes by default (LoneWolfHT)
  • Change crosshair when pointing to objects ("X" shape by default) (LoneWolfHT)
  • Shaders for Android (GLES 2) (Vitaliy)
  • Load media from subfolders (DS)
  • Allow configuring block disk and net compression. Change default disk level. (Lars)

Main menu and ContentDB

  • ContentDB: Add dependency resolution, update all, and download queues (rubenwardy)
  • ContentDB: Add overwrite dialog when content is already installed (rubenwardy)
  • ContentDB: Use icons for buttons (Zughy)
  • Add open user data button to main menu (rubenwardy)
  • Main menu: Add clear button and icon for search input (Andrey)
  • Improve layout of main menu 'local' tab (Paramat)

Modding: GUI (Formspecs) / HUD

  • Add sound effect style option (Pierre-Yves Rollo)
  • Add 3d model formspec element (Jean-Patrick Guerrero, SmallJoker, Thomas--S)
  • Add minimap and compass HUD elements (Pierre-Yves Rollo, Jean-Patrick Guerrero)
  • Make bgcolor tint button background images (Hugues Ross)
  • Add gradients and borders to FormSpec boxes (v-rob)
  • Add font styling options (v-rob)
  • Add set_focus[] to initially focus elements (v-rob)
  • Make dropdowns optionally return event based on index, not value (v-rob)
  • Avoid drawing clipped out formspec elements (EvidenceB)
  • Darken tabheader background color (Kezi)
  • Add inventory list styling: spacing, slot size, and noclip (v-rob)
  • Add support for custom object crosshair image: object_crosshair.png (LoneWolfHT)

Modding: Other

  • Add support for showing attached objects whilst in first person mode (Jordach)
  • Add ability to cancel a minetest.after call after it was started (tenplus1)
  • Add on_rightclickplayer callback (sorcerykid)
  • Add on_deactivate callback for luaentities (hecks)
  • Add minetest.get_objects_in_area (Elias Fleckenstein)
  • Add ObjectRef:get_children() (Zughy)
  • Add a short_description to be used by mods (DS)
  • Add minetest.get_artificial_light and minetest.get_natural_light (HybridDog)
  • Add register_on_chatcommand to SSM and CSM (Elijah Duffy)
  • Add vector.offset (DS)
  • Register missing get_texture_mod function (karamel59)
  • content_cao: Support texture animation for upright_sprite (sfan5)
  • Add PUT and DELETE request + specific method value to HTTP API (Lejo)
  • Nodes are now allowed to have the "liquid" or "flowingliquid" drawtype for non-liquids (liquidtype=none) (Wuzzy)
  • Play 'place_failed' sound if trying to place a node into an occupied space or it was an "attachable" node that failed to attach (Wuzzy)
  • Implement grouped mode for find_nodes_in_area (sfan5)
  • Clean up sound_fade (hecks)
  • Chat commands: Show help message if func returns false without message (HybridDog)
  • Node use_texture_alpha field supports now 3 modes "blend", "clip" and "opaque" (deprecated true/false values)

Other enhancements and maintenance

  • Cross-reference the node level manipulation functions (Oblomov)
  • Update fallback fonts and mark additional locales as broken (sfan5)
  • Clean up l_object.cpp (Zughy)
  • Devtest: Improve various things (Paramat, HybridDog, Wuzzy)
  • Android: Add CI with saving artifacts (Maksim)
  • Add NetBSD cpu affinity support code (David CARLIER)
  • Android: drop simple MainMenu (Maksim)
  • Add support for Haiku OS (David CARLIER)

Bug fixes

Security

  • Prevent players accessing inventories of other players (Lars Müller)
  • Inventory: Protect Craft and Drop actions (SmallJoker)
  • Prevent interacting with items out of the hotbar (Lejo)
  • Fix inventory swapping not calling all callbacks (Lars Müller)
  • Patch fast/teleport vulnerability when attached to an entity (Elias Fleckenstein)
  • Prevent games from setting secure settings (rubenwardy)
  • Prevent players from being able to modify ItemStack meta (luk3yx, rubenwardy)

Other

  • Fix dropped craftitems/tools not using light_source values (LoneWolfHT)
  • Fix when on_player_hpchange is called (SmallJoker)
  • Use JSON for favorites list, fixing many bugs (rubenwardy)
  • Fix hypertext and textarea elementing consuming scroll events (v-rob)
  • Fix ESC in error dialog from closing Minetest (Yaman Qalieh)
  • Remove null bytes from TOCLIENT_BLOCKDATA (luk3yx)
  • Load system-wide texture packs too (Zughy)
  • Fix Android support in bump version script (rubenwardy)
  • ContentDB: Ignore content not installed from ContentDB (rubenwardy)
  • Sanitize server IP field in mainmenu (Zughy)
  • Fix item tooltip background color not working (Lars Mueller)
  • Display Minetest header when menu_last_game value isn't available anymore (Zughy)
  • Fix minetest.is_nan (Lars Mueller)
  • Fix some minor code issues all over the place (sfan5)
  • Minor profiler fixes. (Lars)
  • Fix fallnode rotation of wallmounted nodebox/mesh (Wuzzy)
  • Make installer create its own Minetest folder (LoneWolfHT)
  • Implement mapblock camera offset correctly (hecks)
  • Fix MSAA stripes (HybridDog)
  • Fix certain connected nodeboxes crashing when falling (sfan5)
  • Avoid generating the same chunk more than once with multiple emerge threads. (Lars)
  • Fixed various issues with stars, sky, and clouds (numzero)
  • Fix falling image of torchlike if paramtype2="none" (Wuzzy)
  • Fix player sprite visibility in first person (sfan5)
  • Fix object interaction distance not being checked (rubenwardy)
  • Block attempts to connect to the client (red-001)
  • Fix segfault in deprecation logging due to tail call, log by default (rubenwardy, SmallJoker)
  • Player physics: Ensure larger dtime simulation steps (Lars Müller)
  • Avoid resending near blocks unnecessarily. (Lars)
  • Fix CSMs on arm64 (luk3yx)
  • Fix Media... 0% on loading screen (Maksim)
  • Implement unloading of static_save=false objects according to existing docs (sfan5)
  • Decouple entity minimap markers from nametags replacing with show_on_minimap property (sfan5)
  • Periodically release all mesh HW buffers to avoid an Irrlicht bottleneck. (Lars)
  • Fix float argument check in minetest.set_timeofday() (Zughy)
  • Avoid drawing invisible blocks on the client. (Lars)
  • Fix scroll bar overlapping text (again) (random-geek)
  • Reduce the FPS when the window is unfocused (HybridDog)
  • Android: replace InputDialogActivity on simple dialog window (Maksim)
  • Correct erroneous reported max lag with prometheus (Buckaroo Banzai)
  • Fix horizontal/vertical merging bug of hardware-colored framed glass (Paramat)
  • Fix chat/infotext overlap if many chat lines (Wuzzy)
  • Settings: Fix crash on exit (SmallJoker)
  • Record player existence in dummy database. (Lars)
  • Darwin platform build fix (David CARLIER)
  • Scale inventory image for scaled allfaces nodes (Wuzzy)
  • Fix NetBSD build (David CARLIER)
  • shaders: Fix transparency on GC7000L (mntmn)
  • Fix MSVC compiler warnings (adrido)
  • Fix light overflow of u8 if light is saturated at 255 (BenjaminRi)
  • Fix missing translation call in hypertext (Pierre-Yves Rollo)
  • Render nodeboxes with opaque material if possible (sfan5)
  • Fix precision not working in hud_change (Lars Müller)
  • Fix build for Visual Studio (explicitly cast pointers) (Seeker)
  • Fix GCC class-memaccess warnings (Paul Ouellette)
  • Falling: Fix error caused by missing param2 (SmallJoker)
  • Allow starting local server using --go again (SmallJoker)
  • decode_base64: Allow '=' padding character (SmallJoker)
  • Sanitize world directory names on create. Keep original name separate (Hugues Ross)
  • Improve bad/missing default inventory+wield images of node drawtypes, affecting: airlike, signlike, torchlike, raillike, plantlike, plantlike_rooted, firelike, flowingliquid (Wuzzy)
  • Android: Fix ConfirmRegistration and PasswordChange input and scale size (Maksim)
  • Formspecs: volume and key settings windows can now be closed by doubleclicking/tapping (Zughy)

Minetest Game

  • Add crafting guide (Paul Ouellette)
  • Added 5 wood variants of Mese Post Light (An0n3m0us)
  • Add environment sounds for lava and active furnace (An0n3m0us)
  • Change several block sounds (An0n3m0us)
  • Fix players sleeping in an occupied bed (An0n3m0us, Wuzzy)
  • Fix 'sleepwalking' in bed (An0n3m0us, Wuzzy)
  • Fix sleeping player flying off the bed when damaged and flying far away from the bed after death (An0n3m0us)
  • Fix sleeping player being immobilized and bed undiggable after death (An0n3m0us)
  • Fix furnace infotext not always updating when removing item (orbea)
  • New translation: Slovak (Daretmavi)
  • New translation: Brazilian Portuguese (ronaldo)
  • New translation: Lojban (admittedly not a very good translation) (robintown, Wuzzy and others)
  • Update existing translations (various people)

5.2.0 → 5.3.0

Released on 9 July 2020.

Modder Update Guide

  • Lua API: minetest.PLAYER_MAX_BREATH_DEFAULT set to 10 (was 11). This can cause problems with “statbar” mods (like [hudbars]) that rely on the old value, so those likely need updating
  • Default in Minetest Game was incorrectly overriding dropped items. Make sure to update any overrides to pass new arguments to on_step to the original function

Client / Audiovisuals

  • Smoother camera movement to fix jump glitches (paramat)
  • More precise player controls handling (TheTermos)
  • Fix bone-attached entities (hecktest)
  • Fix incorrect position data on attach (hecktest)
  • Fix HUD scaling (mainly for Android) (MoNTE48)
  • Fix incorrect entity light calculations (SmallJoker, sfan5)
  • Add chat_log_level and chat_font_size setting (SmallJoker)
  • New default sky color gradient (TheTermos)
  • Change default keys for camera/minimap to C/V (Wuzzy)
  • Fix breath bar scaling (ANAND)
  • Fix bone position changes breaking animations (theviper121)
  • No grey screen when C++ errors are thrown by Lua (pauloue)
  • Android: add OpenGL ES 2 support (MoNTE48)
  • Reuse object_shader for "wielditem" and "item" entities (dcbrwn)
  • Shaders: Fix OpenGL < 4.3 compatiblity (SmallJoker)
  • Formspec: properly display altered inventory lists (DS)
  • Android: Various input-related fixes (MoNTE48)
  • Android: Android Studio support, improve everything (MoNTE48)
  • Remove sound menu and show proper msgs if sound is off (Wuzzy)
  • Highlight hovered formspec elements when pressing F5, for testing (SmallJoker)
  • Implement DPI scaling for Windows (sfan5)
  • Allow relative directories for `screenshot_path` (Calinou)
  • Add (optional) tone mapping for entities (dcbrwn)
  • Add new mapgen options in world creation dialog (Wuzzy)
  • Add support for overriding item inventory/wield images in texture packs (Df458)

GUI (Formspec)

  • Fix wrong image button scaling (pyrollo)
  • Document *_hovered and *_pressed styles as deprecated (v-rob)
  • Add buttons to ContentDB in game bar and configure world (rubenwardy)
  • Add universal style selector “*” (v-rob)
  • Add content_offset and padding style properties for buttons (Df458)
  • Add scroll_container element (DS)
  • CSS-like state-selection for style elements (Df458)

World / Server / Environment

  • Fix liquids refusing to flow in X+ or Z+ in some cases (sfan5)
  • Rework functionality of leveled nodes (Wuzzy)
  • New Mapgen V7 floatland implementation (paramat)
  • Server: Better emerge multithreading, various fixes (sfan5)
  • Correctly indicate failure in /spawnentity (sfan5)
  • Add PostgreSQL authentication backend (nerzhul)
  • Add chat command "/revokeme (priv)" (Panquesito7)
  • Optimize get_objects_inside_radius calls (nerzhul)
  • Fix world migration to PostgreSQL (sfan5)
  • Collision detection fixes and follow-up bug fixes (TheTermos)
  • Many many networking improvements (sfan5)

Script API / Modding

  • Log warning when secure.enable_security is disabled (rubenwardy)
  • Exposed zoom key to the API (appgurueu)
  • Add LevelDB auth database (luk3yx)
  • Add vector functions useful for working with rotations (NetherEran)
  • Add minetest.is_creative_enabled (Wuzzy)
  • Add minetest.on_authplayer callback (sorcerykid)
  • HUD: Implement scalable texts (LoneWolfHT)
  • HUD: "off state" icon feature for statbars (Wuzzy)
  • set_fov: Add time-based transitions (ANAND)
  • Expose collision information to LuaEntity on_step (sfan5)
  • Enforced type checks for registration fields (SmallJoker)
  • Add server side translations capability (pyrollo)
  • Fix alias handling of minetest.get_content_id (sfan5)
  • Document inheritance of different noise seeds (paramat)
  • Add default stack size setting (nephele)
  • Play player_jump sound when player jumps (Wuzzy)
  • HUD: Better waypoints and new image variant (appgurueu)
  • CSM: Implement minetest.sound_fade() (sfan5)
  • Error on invalid mapgen alias (Wuzzy)
  • Add allowed_mapgens option in game.conf (wt)
  • Lua API documentation clarifications (Wuzzy)
  • minetest.PLAYER_MAX_BREATH_DEFAULT set to 10 (was 11) (ANAND)

Misc / Build

  • Android: Hide media from galleries etc (rubenwardy)
  • Minimal development test [minimal] renamed to “Development Test” [devtest] (Wuzzy)
  • Complete overhaul of Development Test, many new features added for testing the engine, more documentation added in README files, etc. (Wuzzy)
  • Particle & ParticleSpawner code cleanup (sfan5)
  • Add Prometheus support (nerzhul)
  • Fix detection of in-place path_locale when RUN_IN_PLACE=0 (sfan5)
  • List STATIC_LOCALEDIR in "--version" (sfan5)
  • Many code optimizations (sfan5)
  • Wireshark dissector update (sfan5)
  • Split and re-organize server object code (nerzhul)
  • Automatic build improvements (sfan5, nerzhul)

Minetest Game

  • Rename “Dry Dirt” and related blocks to “Savanna Dirt” and similar (paramat)
  • Added Wild Cotton: grows in savannas, drops Cotton Seeds (paramat)
  • Sort items into correct categories (An0n3m0us)
  • Tune cloud density variation (paramat)
  • Fix broken Creative inventory search in translation (sfan5)
  • Make Straw Stairs/Slabs usable as fuel (Paul Ouellette)
  • New textures: Dry Shrub, Brake Rail (Extex101, Hooded Ice)
  • Block particles when leaves decay, TNT explodes (sfan5)

5.1.0 → 5.2.0

Released on 5 April 2020.

Client / Audiovisuals

  • Fix alpha blending in texture modifiers (Warr1024)
  • Make natural night light as bright as MT 0.4.16 (paramat)
  • Shader fixes (lhofhansl, SmallJoker)
  • Clean up font caching, fix bitmap fonts (SmallJoker)
  • Waves generated with Perlin-type noise #8994 (lhofhansl)
  • Attachments: Fix glitches after detach (SmallJoker)
  • Let node 'place' and 'dug' sounds be heard by other players (sfan5)
  • Fix weird looking liquid source (Wuzzy)
  • Basic model shading (dcbrwn)
  • Improve arm inertia animations (kilbith)

GUI Improvements

  • Add visual feedback for button states (Df458)
  • Formspec: draw order and clipping for all elements (DS)
  • Refactor internal button styling/rendering code (Df458')
  • Formspec: Fix clicking on tooltip-obstructed elements (DS)
  • Formspec: change cursor on fields and co. (DS)
  • Various new formspec bug fixes (SmallJoker)
  • Formspec: Add 9-slice background support to button elements (Df458)
  • Formspec: add hypertext[] element (pyrollo)
  • Formspec: animated_image[] (Df458, kilbith)
  • Make clipping of formspec elements more consistent (Df458)
  • Remove outdated field_close_on_enter[] warnings in element parameters (SmallJoker)
  • Fix mouse events sent to wrong GUI elements when dragging (sfan5)
  • Restore intuitive click-through behaviour (DS)

Enhancements

  • Wear out tools on punch (sfan5)
  • Tunnels: Completely disable generation when 'cave width' >= 10.0 (paramat)
  • Randomwalk cave liquids: Remove deprecated 'lava depth' (paramat)
  • Automatically enable the mod's dependencies in the world config menu (HybridDog)
  • Clean up craft replacements docs (pauloue)
  • Falling nodes: add missing support for light sources, most drawtypes, and paramtype2s (Wuzzy)
  • Remove legacy flat-file map code and documentation (random-geek)
  • Fix packet receiving in server and client (sfan5)
  • Key settings: Cancel with escape, clear with delete (SmallJoker)

Script API / Modding

  • CSM: Introduce get_modpath() (sfan5)
  • CSM: Remove non-functional minetest.get_day_count() (sfan5)
  • Add z-index management to HUD (pyrollo)
  • Add table.key_value_swap and table.shuffle (HybridDog)
  • Map download: Escape ':' to '_' (NTFS/FAT* systems) (Montandalar)
  • Settings: Add get_flags API for mapgen flags (SmallJoker)
  • Improve minetest.sound_play with ephemeral sounds and player exclusion (sfan5)
  • Reworked validity checks for entities (sfan5)
  • Documentation: Add advice on lifetime of ObjectRefs (sfan5)
  • Allow texture modifiers in hotbar textures (Warr1024)
  • Nodes with torchlike drawtype and custom visual_scale now are rendered attached to surface instead of being centered (Wuzzy)
  • Add documentation of VoxelArea 'ystride', 'zstride' (paramat)
  • Lua API: Document HP, breath and damage limits (SmallJoker)
  • Various documentation improvements (Wuzzy)
  • CSM: Corrections to client_lua_api.txt (sfan5)
  • Make minetest.item_place_node return position of placed node (Bluebird)
  • Call on_secondary_use when object is right-clicked (sfan5)
  • CSM: Various fixes (sfan5)
  • Many pathfinder bugfixes and improvements (Wuzzy)
    • Fix failure to find path if start or end pos is over air (Wuzzy)
    • Fix very broken implementation of A* search (Wuzzy)
    • No longer jump through solid nodes (Wuzzy)
    • Return nil if start or end pos is solid (Wuzzy)
  • New set_sky, set_sun, set_moon and set_stars (Jordach)
  • Secure and document minetest.deserialize() (luk3yx)
  • minetest.get_content_id: throw error for unknown nodes (HybridDog)

Misc / Build

  • Don't install fonts on ENABLE_CLIENT=0 configurations (sfan5)
  • Fix memleaks in formspecs (SmallJoker)
  • Android: build fixes & compat fixes (MoNTE48, nerzhul)
  • Run luacheck in travis, add luacheck (rubenwardy)
  • Android: fix cyrillic characters (Maksim)
  • Various build issue fixes (Clang, Travis CI) (sfan5)

Minetest Game

  • Simple weather that varies the clouds (paramat)
  • More realistic boat physics (gang65)
  • Creative Inventory search: Item with exact match appears in first spot (sfan5)
  • Creative Inventory: More visual tweaks (Andrey2470T)
  • Improve player model animation (An0n3m0us)
  • Increase water opacity (lhofhansl)
  • Reset spawn position when bed is destroyed (Desour)
  • Papyrus now appears in rainforest swamps as well (paramat)
  • New/updated translations:
    • French (DrHackberrry)
    • Spanish (runsy)
    • Italian (h4ml3t)
    • Russian (Andrey2470T)
    • Swedish (Aresiel)
    • Malay (MuhdNurHidayat)
    • Chinese (zaoqi, IFRFSX)
  • Bugfix: TNT mod crashed when entities disappeared during explosion (sfan5)
  • Bugfix: Papyrus in savanna did not appear in 5.1.0, it has been added back (paramat)
  • Bugfix: Screwdriver was able to rotate torches into weird positions (An0n3m0us)
  • Bugfix: Players could be knocked back when attached (sfan5)

5.1.0 → 5.1.1

Released on 17 January 2020.

This release is based upon bugfixes from 5.2.0-dev.

Client / Audiovisuals

  • Fix player-bound sound playback (SmallJoker)
  • Fix item eat sound not played if last item (Wuzzy)

World / Server / Environment

  • Formspecs: Reset version number on rebuild (SmallJoker)
  • Rework packet receiving in ServerThread (sfan5)
  • Fix core.chat_format_message crashes (ClobberXD)
  • Fix spaces breaking formspec_version[] tag (rubenwardy)

Misc / Build

  • MacOS/BSD: Fix build issue due to conflicting s64 type definitions (AMDmi3)
  • Fix find_path for newer jsoncpp installations (vilhelmgray)
  • Update translations

5.0.1 → 5.1.0

Released on 12 October 2019.

Map generator

  • Mapgen Carpathian: Add optional rivers (paramat)
  • Move more dungeon parameter selection to mapgens (paramat)
  • Dungeons: Make multiple large rooms possible (paramat)

Client / Audiovisuals

  • Change pitch fly binding to 'P', add to change keys menu (rubenwardy)
  • Android settings: Use 'simple' leaves instead of 'fancy' (paramat)
  • Fix 3rd person selection range (srifqi)
  • Make scrollbars' bar variable in size (stujones11)
  • Damage: Play no damage sound when immortal (SmallJoker)
  • Increase upper limit of display_gamma to 10 (ClobberXD)
  • Optimize and unify mesh processing (Vitaliy)
  • Re-order mapgens in mainmenu and 'all settings' mapgen selection (paramat)
  • Scrollbars: Move directly to clicked pos if clicked into tray (DS-Minetest)
  • Fix broken attachments on join (SmallJoker)
  • Fix inventory_overlay for nodes without inventory_image (DS-Minetest)
  • Better F6 profiler (SmallJoker)
  • Fix minimap markers (theviper121)
  • Textures: Load base pack only as last fallback (SmallJoker)

Builtin (Lua / Media / Documentation)

  • Add /help formspec for commands and privileges (SmallJoker)
  • Lua API: Add link to Minetest Modding Book (ClobberXD)
  • Force item entities out of solid nodes (sfan5, based on Wuzzy`s work)
  • Lua API: Various fixes (DS-Minetest, SmallJoker)
  • Rename "private messages" to "direct messages" (Calinou)
  • Automatically enable depending mods in the dialogue (HybridDog)
  • All settings: Fix missing flags checkboxes (srifqi)

World / Server / Environment

  • Various network performance improvements (osjc)
  • Force send a mapblock to a player (sofar)
  • Revert ItemStacks being limited to the 'stack_size' value (ClobberXD)
  • Save forceloaded blocks file periodically (Thomas Rudin)
  • Improve ABM time budget handling (lhofhansl)
  • Group "immortal" also protects players from damage (Wuzzy)
  • Optimize usage of TOSERVER_GOTBLOCKS packet (sfan5)
  • Network: several bugfixes (sfan5)
  • Mapgen::spreadLight performance improvement (DS-Minetest)
  • Improve occlusion culling in corridors with additional check (sfan5)
  • Inventory: Delay dirty lists, and send changes incrementally (SmallJoker)
  • Other inventory bugfixes (sfan5, SmallJoker)
  • Move debug.txt after it grows too big (HybridDog)
  • Trigger on_place in many situations even if prediction failed (DS-Minetest)
  • Punchwear (improved) (sfan5)

Script API / Modding

  • Add deprecation warnings for ObjectRef:get/set_attribute (ClobberXD)
  • Nodedef 'drop' documentation: Improve (paramat)
  • Mark tool filtering in node drop documentation as deprecated (paramat)
  • Add node field to PlayerHPChangeReason table (pauloue)
  • Don't call on_hpchange callbacks if HP hasn't changed (ClobberXD)
  • Add disable_jump to liquids and ladders (SmallJoker)
  • Add support for 9-sliced backgrounds (rubenwardy)
  • Add compatible, consistent coordinate system to FormSpecs (v-rob)
  • Document ObjectRef:remove under Lua entity (ClobberXD)
  • Docs: Clarify where to check for 'protection_bypass' (SmallJoker)
  • Add vector.dot and vector.cross (HybridDog)
  • Improve documentation of mapgen aliases (paramat)
  • Remove debug.upvaluejoin to prevent leak of insecure environment (fluxionary)
  • Fix previously crashing minetest.get_craft_result() (pauloue)
  • Allow toolcaps to override the built-in times for dig_immediate (sfan5)
  • Formspec styling using style[] (rubenwardy)
  • Customizable chat message format (ClobberXD)
  • Velocity modifiers for players (sfan5)
  • Fix some issues with minetest.clear_craft (pauloue)
  • Add function `minetest.read_schematic` (paly2)
  • Formspecs: formspec_version[] element (SmallJoker)
  • Per-player FOV overrides and multipliers (ClobberXD)

Misc / Build

  • Find PostgreSQL correctly (adrido)
  • Add compatibility to vcpkg buildsystem (adrido)
  • Android: Use system provided path for default TMPFolder setting (stujones11)
  • Fix handling of --color and --worldlist command line arguments (mmattes)
  • Unified OpenGL ES support (sfan5)

Minetest Game

  • Added dry dirt and dry dirt with dry grass. Grass never spreads on dry dirt (paramat)
  • Savannas now have dry dirt and dry dirt with dry grass (paramat)
  • Added steel bar door and steel bar trap door
  • Added setting “enable_fence_tall” for fences that cannot be jumped over (mbartlett21)
  • Firefly in a bottle can now be placed into vessels shelf
  • Add flowing water sound
  • Underground biomes extend much deeper, down to Y=-255
  • Make the creative mod hand dig 'dig_immediate' nodes fast (paramat)
  • Add new TNT sounds (TumeniNodes)
  • Add missing infotext to nodes (An0n3m0us)
  • Added translation support
  • Added German, French, Spanish and Italian translations (Wuzzy, Hamlet, JDiaz, DrHackberry)

5.0.0 → 5.0.1

5.0.1 was released on March 31, 2019.

  • Fix detached inventory serialisation (rubenwardy)
  • Fix texture rotation for wallmounted nodeboxes (sfan5)
  • Fix build failing on some compilers (rubenwardy)
  • Warn about issues with the num_emerge_threads setting (paramat, sofar)
  • HPChange Reason: Fix issues with custom reasons (rubenwardy)
  • Fix FreeBSD build by handling std::time_t properly (rubenwardy)
  • Confirm registration GUI: Remove positional strings to fix Windows bug (paramat)
  • Prevent multi-line chat messages server-side (rubenwardy)
  • httpfetch: Disable IPv6 here too if requested by settings (sfan5)

0.4.16 → 5.0.0

Released March 4th


Note: 5.0.0 is based on 0.4.16, not 0.4.17. 0.4.17 was created by backporting changes from the development branch of 5.0.0

Highlights

  • Add online content repository (games, mods, modpacks, texture packs)
  • Add Carpathian mapgen
  • Automatic jumping
  • Android: Rewritten controls. Add joystick and modify up on-screen buttons
  • Mods and games can be translated
  • Rename 'subgame' to 'game'
  • Modding: More node drawtypes: disconnected nodeboxes (more ways to create connected blocks), plantlike_rooted (for underwater plants)
  • Modding: Custom player collision box
  • Modding: A great deal of new map generator features
  • Modding: Allow to rotate entities in all 3 axes

New Version Scheme

Basically, the leading 0 has been dropped. The version scheme was thus changed from

ZERO.MAJOR.MINOR.PATCH

(note: PATCH was left out when it was 0) to

MAJOR.MINOR.PATCH

.

This was chosen for a few reasons:

  • Shows that we aim to keep inter-version compatibility (which has mostly been the case since early 0.4.x)
  • Allows us to release patch/bug fix only releases without adding a silly 4th number
  • Doesn't imply that this version is the first stable/finished version as much as a 1.0.0 does.

For some context, read the issue that resulted in this change.

Breaking changes and deprecations

As a major release, 5.0.0 will break some mods written for 0.4.x versions. We tried to keep the breakages as small as possible whilst fixing long standing issues.

  • Minetest now uses C++11 instead of C++03, make sure you have a compatible system (Windows Vista, Debian 8, Ubuntu 16.04, CentOS 7, macOS 10.7, …)
  • Breaks network compatibility with 0.4.x. 0.4.x clients won't be able to connect to 5.x servers and vice-versa. Fix: update clients and servers to 5.x
  • Attachment and player positions have been shifted by 1 node, to allow support for custom player selection boxes. Fix: update default and player_api, subtract 10 from any attachment positions, shift the origin of player models to the feet
  • Formspec theming using prepended strings. This may cause wrong backgrounds to appear on formspecs. Fix: see https://forum.minetest.net/viewtopic.php?f=18&t=20646
  • depends.txt and description.txt have been deprecated. Fix: use description, depends, and optional_depends in mod.conf, game.conf, or texture_pack.conf instead
  • modpack.txt has been deprecated. Fix: rename to or add modpack.conf.
  • Use of deprecated methods such as object:setpos() is now warned about. Fix: replace them with correct functions
  • player:get/set_attribute() is now deprecated. Fix: use player:get_meta() instead
  • nodeupdate() was removed. Fix: replace with minetest.check_for_falling.
  • Clouds API: changed speed param from 'y' to 'z'
  • Player inventory list "hand" must now be manually initialized by mods (using set_size)
  • Some client-side scripting functions were removed (see below)

Note that a function being deprecated means that it still exists, but it may give a warning when used and may be removed in future. Deprecations are necessary to improve the consistency and efficiency of our API

Features

Games

  • Load a texture pack from the 'textures' subfolder of a game (red-001)

Map generators

  • Mapgen: Add Carpathian mapgen (Vaughan Lapsley)
  • Mapgen flags: Add 'biomes' global mapgen flag (paramat)
  • Dungeons: Add Y limits in all mapgens (paramat)
  • Dungeons: Add setting to prevent projecting dungeons (paramat)
  • Biomes: Add vertical biome blend (paramat)
  • Mgv7 floatlands: Add exponent parameter (paramat)

User interface

  • Add online content repository (mods, texture packs, mod packs, games) (rubenwardy)
  • Rename 'subgame' to 'game' (paramat)
  • Allow enter to select items from combobox's list (basicer)
  • Formspecs: Use mouse wheel to pick up and deposit single items (HybridDog)
  • Add player marker to both minimap types (nanoproject)
  • Delete world dialogue: Move buttons to avoid double click deletion (srifqi)
  • Add a refresh button to the server list (ThomasMonroe314)
  • Main menu: Change tabs to 'Start Game' and 'Join Game' (ThomasMonroe314)
  • Add password confirmation on new player registration (srifqi)
  • Adjust default console height (Ezhh)
  • Add coloured terminal output (HybridDog)
  • Add setting to display the itemstring after the tooltip in the inventory (DTA7)
  • Make world creation menu automatically generate a random world name (lisacvuk)
  • Change “Use” key name to “Special” (TeTpaAka)
  • Make number of maximum displayed chat messages configurable (Esteban)

Controls

  • Automatic jumping (bendeutsch)
  • Add pitch move mode, toggle with L key
  • Android: Rewritten controls. Add joystick and modify up on-screen buttons (srifqi)
  • More keys are changable in settings menu
  • Make direct item selection keys freely bindable via minetest.conf (Wuzzy)

World / server

  • Add setting for world start time, and change default to 5:15am (JRottm, paramat)
  • Allow for getting world name and path separately on the command line (Brian)
  • Add a server-sided way to remove color codes from incoming chat messages (red-001)
  • Object limits: Allow objects to exist outside the set 'mapgen limit' (paramat)

Chat commands and privileges

  • Add '/haspriv' chat command (ClobberXD)
  • Add '/kill' chat command (Wuzzy)
  • Remove 'zoom' privilege (zoom is now a player object property)
  • Do not grant all privileges to the admin - changes game behavior (lhofhansl)

Graphics

  • Fog effect when camera is inside cloud (bendeutsch)
  • Camera: Add and improve arm inertia (kilbith)
  • Update light decoding table size (numberZero)
  • New lighting curve (numberZero)
  • Add setting for near plane distance (basicer)
  • Add Android drivers to the video_driver drop-down menu (Wayward1)

Sounds

  • Sounds: Add falling node sounds (sofar)
  • Emit liquid sound if the player walks in liquid (juhdanad)
  • Play damage sound on player death (paramat)
  • Add mute setting (toggled by the mute key and in the volume menu) (DTA7)

Technical

  • Add support for authentication in an SQLite database (bendeutsch)
  • Add an optional readonly base database (lhofhansl)
  • Add crossview support (otdav33)
  • Optionally extend the active object in a players camera direction (lhofhansl)
  • Implement ability to set client node dig prediction result (sofar)

Misc.

  • Add check to pause game on lost window focus (rubenwardy)
  • Load files from subfolders in texture packs (numberZero)
  • Make HUD status messages translatable (Wuzzy)

Modding

  • Add on_mods_loaded callback (nerzhul)
  • MetaDataRef: Add contains() and get() (rubenwardy)
  • Allow dumping userdata (HybridDog)
  • Hint at problematic code when logging deprecated calls (sfan5)
  • Add minetest.rgba function that returns ColorString from RGBA or RGB values (Gael-de-Sailly)
  • World config: Add modpack descriptions (HybridDog)
  • get_node_drops: Make empty drop return empty table (tenplus1)
  • Add core.remove_detached_inventory (SmallJoker)
  • Add disable_repair group to prevent tool repair (Wuzzy)
  • clear_craft: Return false if recipe not found, don't throw error (paramat)
  • Fix string.split returning an empty table if string starts with sepearator (pyrollo)

Formspecs / HUD

  • Formspecs: Add tooltip element for area (rubenwardy)
  • Formspecs: Allow setting alpha value for the box[] element (Thomas--S)
  • Formspecs: Add an auto vertical scrollbar to the textarea (adelcoding1)
  • Formspecs: Add options to set background color and opacity (fullscreen mode + default mode) (nerzhul)
  • Formspecs: textarea with scrollbar improvements (adrido)
  • HUD: Make hud_get return alignment, offset and size. (lisacvuk)

Server-side

Metadata
  • Give games the ability to disallow specific mapgens (Ezhh)
  • Load mod dependencies and description from mod.conf (rubenwardy)
User interface
  • Add clientside translations. (Ekdohibs)
  • Add formspec theming using prepended strings (rubenwardy)
  • Zoom: Set zoom FOV per-player using a player object property (paramat)
  • Zoom: Move enabling zoom to a new player object property (paramat)
  • Minimap: Add new HUD flag for minimap radar mode (paramat)
Items
  • Allow overriding tool capabilities through itemstack metadata (raymoo)
  • Set placer to nil instead of a non-functional one in item_OnPlace (DTA7)
  • Overlays for wield and inventory images (juhdanad)
  • Make dropped items colorable (juhdanad)
  • Automatic item and node colorization (juhdanad)
  • Add eat sound (Wuzzy)
Nodes
  • Add slippery group for nodes (players/items slide) (Wuzzy)
  • Connected Nodeboxes: Add 'disconnected' boxes (Thomas--S)
  • Add callback to preserve node metadata as item metadata (ashtrayoz)
  • Add 'plantlike_rooted' drawtype (numberZero)
Objects/entities
  • ObjectRef: Add add_velocity() (HybridDog)
  • Allow damage for attached objects, add attach/detach callbacks (SmallJoker)
  • Optional alpha channel support for entities (stujones11)
  • Add static_save property to luaentites to not save them statically. (orwell96)
  • Object properties: Add 'glow', disables light's effect if negative (basicer)
  • core.get_objects_inside_radius: Omit removed objects (HybridDog)
  • Make entity selection and collision boxes independently settable (stujones11)
  • Add set_rotation/get_rotation to rotate entities in all 3 axes
Players
  • Customizeable max health and max breath for players (not persisted between server restarts) (SmallJoker)
  • Add reasons to on_dieplayer and on_hpchange (rubenwardy)
  • Add minetest.is_player (HybridDog)
  • Add on_grant and on_revoke callbacks (rubenwardy)
  • Player eye height: Make this a settable player object property (paramat)
  • Step height: Add as a player object property (paramat)
  • Player collisionbox: Make settable (TeTpaAka)
  • Add player inventory callbacks (SmallJoker)
Mapgen
  • Biomes: Add 'get_biome_name(biome_id)' API (paramat)
  • Biomes: Add 'min_pos'/'max_pos' xyz biome limits (paramat)
  • Biomes: Add decoration flags for underground decorations (paramat)
  • Biomes: Add function to deregister single biomes (zeuner)
  • Biomes / dungeons: Add biome-defined dungeon nodes (paramat)
  • Biomes / cavegen: Add definable cave liquid for a biome (paramat)
  • Biomes: Add 'get heat', 'get humidity', 'get biome data' APIs (paramat)
  • Biomes/decorations/ores: Make relative to 'water_level' setting (paramat)
  • Place schematic (on vmanip): Enable use of 'place center' flags (paramat)
  • Ores: Add stratum ore (paramat)
  • Stratum ore: Add option for a constant thickness stratum (paramat)
  • Stratum ore: Allow use with no noise for simple horizontal strata (paramat)
  • Simple decorations: Add 'param2_max' parameter for random param2 (paramat)
  • Schematic decorations: Add 'place_offset_y' placement parameter (paramat)
  • Decoration API: Add lightweight ability to have complete coverage (paramat)
  • Mgv6: Remove incorrectly defined and unused 'volume nodes' (paramat)
  • Mgv7: Add 'mount_zero_level' parameter (paramat)
  • Mgv7: Add option to repeat surface biomes in floatlands (paramat)
  • Mgvalleys: Make river depth variation and humidity drop optional (paramat)
  • CavesRandomWalk: Make 'lava_depth' a mapgen parameter (paramat)
  • Gennotify: Add 'minetest.get_decoration_id' API (paramat)
World
  • Spawn level: Add 'get_spawn_level(x, z)' API (paramat)
  • Add minetest.bulk_set_node call + optimize Environment::set_node call (nerzhul)
  • Implement minetest.register_can_bypass_userlimit (nerzhul)
Chat
  • Make the server status message customizable (SmallJoker)
  • Allow the join/leave message to be overridden by mods. (red-001)
Protection
  • is_area_protected: Rename from intersects_protection (SmallJoker)
  • Intersects_protection(): Move from Minetest Game to builtin (paramat)
Graphics and sounds
  • Real global textures (numberZero)
  • Clouds API: change speed from 'y' to 'z', ColorSpecs in Lua docs (bendeutsch)
  • In-cloud fog: Strengthen effect when small view range is used (lhofhansl)
  • Sound: Add pitch option (Rui-Minetest)
Utility features
  • Allow 'default' parameter in 'settings:get_bool' function (Jordan Irwin)
  • Add `on_auth_fail` callback (red-001)
  • Make core.auth_table private and structure builtin/auth.lua (sfan5)
  • Add sha1 to lua utils. (basicer)
  • Remove nodeupdate and nodeupdate_single (Rui-Minetest)
  • Expose getPointedThing to Lua (juhdanad)
  • Helper methods for hardware colorization (juhdanad)
  • httpfetch: Enable gzip support (sfan5)
  • Rename hasprivs command to haspriv (ezhh)

Client-side

  • Add flavour limits controlled by server (nerzhul)
  • Disallow exploitable clientside mod functions by default (paramat)
  • Rename CSM flavours to restrictions (SmallJoker)
  • Remove screenshot API (red-001)
  • Don't Load the package library (red-001)
  • Remove `on_connect` callback (red-001)
  • Add functions to create particles and particlespawners. (red-001)
  • Don't load the IO library. (red-001)
  • Add a way to get current locale from CSM (lisacvuk)
  • Add callback on open inventory (Dumbledor)
  • Implement mod communication channels (nerzhul)
  • Create a filesystem abstraction layer for CSM and only allow accessing files that are scanned into it. (red-001)
  • Add function to get player privileges (red-001)

Bug fixes and small improvements

Also a big thanks to paramat, ClobberXD, pauloue, gituser2194, lhofhansl, ashtrayoz, Wuzzy, and Ezhh for their contributions to documentation, in no particular order.

Critical

  • Fix crash caused by Lua error during startup (red-001)
  • Pointed_thing_to_face_pos: Avoid crash when player is inside a node (paramat)
  • Fix segfault in player migration and crash in log_deprecated (SmallJoker)
  • Fix crash guiConfirmRegistration quit menu (Vincent Glize)
  • Fix built-in inventory list crash when size = 0 (SmallJoker)
  • Fix a crash or random memory leak when resetting saved environment variable in test_servermodmanager.cpp (nerzhul)
  • Fix crash on can_bypass_userlimit returning non-boolean (rubenwardy)
  • Fix error if setting menu_last_game is not a valid game (nOOb3167)
  • Builtin: Fix handle_node_drops crash with nil digger (SmallJoker)
  • Fix issue Minetest crash when custom font path is not exist (srifqi)
  • Thread: fix a crash on Windows due to data race condition on Thread::m_start_finished_mutex (nerzhul)
  • Fix crash on revocation of removed privilege (rubenwardy)
  • Fix crash when using --go in command line (juozaspo)
  • Fix crash due to missing pointer validation (nerzhul)
  • Fix get_server_status() segfault due to uninitialized m_env (rubenwardy)

Build

  • Fix many Android build issues (nerzhul)
  • Fix i386 bit build at OpenBSD (mazocomp)
  • Fix compile error in OpenBSD (jcalve)
  • Fix MSVC compiling annoyances (adrido)
  • directiontables: Fix MSVC compiler error (adrido)
  • Fix MacOS builds (Pavel Puchkin)
  • Travis-ci build: fix osx jpeg installation failure, git ambiguous argument error (caused by merging commits) and add a workaround for travis commit range bug (juozaspo)

System-specific

  • Provide Xorg/net wm process ID (thoughtjigs)
  • Make os.tempfolder work correctly for MinGW & MSVC (nOOb3167)
  • Print error when HOME is not set (Midgard)
  • MacOS: don't require X11 libraries during compilation (D Tim Cummings)
  • Prevent Android from automatically locking display (Wayward1)
  • Windows: Cpack wix installer (adrido)

Rendering

  • Fix liquid bottoms not being rendered (numberZero)
  • Fix liquid post effect colour behaviour in third person view (red-001)
  • Fix dark liquids (numberZero)
  • Use crack animation on all tile layers (juhdanad)
  • Smoothed yaw rotation for objects (SmallJoker)
  • Disable shaders GUI on unsupported drivers (numberZero)
  • Fix missing ignore textures (HybridDog)
  • Make sure color returns to normal after a damage flash (lhofhansl)
  • Camera: Improve subpixel movement (SmallJoker)
  • Camera: Fix wieldmesh glitch after teleporting (kilbith)
  • upright_sprite: Fix texture position for players (SmallJoker)
  • Fix node-nodebox lighting difference in direct sunlight (numberZero)
  • Fix ambient occlusion and dark lines at mapblock borders (numberZero)
  • Don't recalculate statustext initial color every time & review fixes (nerzhul)
  • Clear colors when reading property info. Set vertex colors on upright_sprites. (basicer)
  • Fix items turning black (numberZero)
  • Fix dropped item look (HybridDog)
  • Fix item and wield meshes (numberZero)
  • Do not scale texture unless necessary. (lhofhansl)
  • Avoid filtering low-res textures for animated meshes (incl. players) (lhofhansl)
  • Reduce server FOV with forward speed (lhofhansl)
  • ParticleSpawner::step cleanup and rotation fix (SmallJoker)
  • Fix incorrect buffer size calculation on creation of HUD status messages (rubenwardy)
  • Particles: Do not add digging particles for airlike nodes (SmallJoker)
  • Fix animation frame_speed and blend loosing precision (sapier)
  • Fix undefined behaviour in arm movement when dividing by zero (nerzhul)
  • Fix render order of overlays (juhdanad)
  • Particles: Make collision with objects optional (paramat)
  • Fix stretched stars bug, change render order (Aspen)
  • Software inventorycube (Vitality)
  • Light curve: Simplify and improve code, fix darkened daytime sky (Vitality)
  • Smooth lighting: Fix light leaking through edge-connected corners (DTA7)
  • Darkness detection: Reduce chance of false positives darkening the skybox (lhofhansl)
  • Fix sky objects not rendering with OpenGL ES (stujones11)
  • Night clouds: Boost brightness for a moonlit appearence (paramat)
  • Night sky: Fix brightness threshold for applying night colours (paramat)

User interface

  • Fix debug and info text being the wrong color (rubenwardy)
  • Fix tooltip colors specified by formspec part (rubenwardy)
  • Make RTT display (F5 information) working correctly again (HybridDog)
  • Don't show Android edit dialog when tapping read-only field (srifqi)
  • Make sounds stop playing when entering game or mainmenu (nOOb3167)
  • Fix dancing text for formspec input fields (numberZero)
  • Chat: Remove prompt history duplicates (SmallJoker)
  • Statbars: fix incorrect half-images in non-standard orientations (Ekdohibs)
  • Advanced settings: Add range check for float type (srifqi)
  • Move the nametag back to the top of the player (TeTpaAka)
  • Chat: Move chat text down to not overlap 3rd line of debug text (paramat)
  • Fix console resize issue when changed game window (Ezhh, Zeno-)
  • Android buttons: Inset 'rare controls', inset and resize 'gear icon' (paramat)
  • Main menu: Clean up and improve advanced settings dialogues (SmallJoker)
  • Escape special characters when searching the server list (ChimneySwift)

Formspecs

  • Mitigate formspec exploits by verifying that the formspec was shown to the user by the server. (red-001)
  • Make container[] support fractional offsets (SmallJoker)
  • Remove accidental empty 'quit' field (SmallJoker)
  • Unify textarea and field parsing functions, fix wrong fallback text (SmallJoker)
  • Formspec verification: Fix show_formspec inside callbacks (SmallJoker
  • Fix wrong scrolling of formspec input fields (numberZero)
  • Inventory: Restrict access from too far away (SmallJoker)
  • Fix mousewheel behaviour in textarea (shivajiva101)
  • Fallback to 'label' in readonly textarea[] (backwards compatible) (SmallJoker)
  • Fix invalid background warning (SmallJoker)
  • Fix text clipped by scrollbars (random-geek)

Performance

  • Optimized MapBlock mesh generation (lhofhansl)
  • Optimize ABM checks (lhofhansl)
  • Fix bugs in networking which caused a performance loss (lhofhansl)
  • Builtin auth handler: Speed up file writing (SmallJoker)
  • Huge LBM lookup performance improvement on mapblock loading (nerzhul)
  • Fix last performance-type-promotion-in-math-fn problems (nerzhul)
  • Optimize a little bit isBlockInSight, adjustDist & collisions (nerzhul)
  • Line_of_sight: Improve using VoxelLineIterator (juhdanad)
  • Cache server config settings. (lhofhansl)
  • Very little performance fix on correctBlockNodeIds (nerzhul)
  • Don't search for locale folders if gettext is disabled (adrido)

Networking

  • Use server's zoom fov for distant world loading. (lhofhansl)
  • Fix ipv6_server=true not accepting IPv4 connections on Windows (sfan5)
  • Fix narrow/utf8 difference in incoming/outcoming messages (numberZero)
  • Fix day_night_ratio_do_override not being initialised server-side (rubenwardy)
  • Fix attached particle spawners far from spawn (raymoo)
  • Server: affect bind_addr on constructor instead of start() (nerzhul)
  • Network: Fix logging into older worlds with base64 hashes (SmallJoker)
  • Server: Calculate maximal total block sends dynamically (SmallJoker)
  • Have the server send the player list to the client (red-001)

Chat commands and privileges

  • Check if player exists on use of /privs (ClobberXD)
  • Reduce block load glitches (lhofhansl)
  • Make the /shutdown command work properly (dopik, SmallJoker)
  • Prevent /spawnentity from spawning unknown entity (Wuzzy)

World

  • Fix blocks written by VManip not being marked as modified (sfan5)
  • Set range of blocks to retrieve per roundtrip to 2. (lhofhansl)
  • Retrieve a small cone of blocks in the direction of the players velocity. (lhofhansl)

Map generator

  • Change mapgen order to ores > dungeons > decorations (paramat)
  • Biome API: Fix absent water decorations and dust, in deep water (paramat)
  • Biome-defined dungeon nodes: Use faster biome calculation (paramat)
  • Biomemap: Avoid empty biomemap entry to fix failing biome dust (paramat)
  • Biomes: Fix vertical biome blend (paramat)
  • Biome dust node: Only place on 'walkable' cubic non-liquid drawtypes (paramat)
  • Biome generation: Fix layers of 'filler' nodes at biome y limits (paramat)
  • Mgv5: Make spawn position search more reliable (paramat)
  • Mgv6 mudflow: Avoid partially removed stacked decorations (paramat)
  • Mgv7: Raise spawn point by 1 node for no mountain case (paramat)
  • Mgv7: Avoid rivergen removing mod-placed nodes when overgenerating (paramat)
  • Mgv7: Avoid divide-by-zero errors (paramat)
  • Mgv7: Fix undefined 'float_mount_height' (paramat)
  • Mgfractal: Improve spawning behaviour (paramat)
  • Mgv5/v7/fractal: Add 'large_cave_depth' parameter to replace fixed value (paramat)
  • Fix Mapgen Valleys getSpawnLevelAtPoint() (Treer)
  • Vein ore: Fix bug caused by changing perlinmap Y size (paramat)
  • Schematic decorations: Fix placement bug when centered and rotated (paramat)
  • Simple decorations: Make 'place_offset_y' usable with simple decorations (paramat)
  • Dungeons: Fix duplication of y limit parameters (paramat)
  • Dungeons: Mostly fix missing stair nodes (paramat)
  • Dungeons: Avoid generation in multiple liquid nodes and 'airlike' (paramat)
  • Dungeons: Use biome 'node_stone' if normal stone types not detected (paramat)
  • Cavegen: Fix errors when getting biome outside mapchunk (paramat)
  • Cavegen: Re-order generation to fix cavern bug (paramat)
  • Cavegen: Avoid unsupported biome 'top' or 'filler' nodes (paramat)
  • valleys mapgen: Fixed submarine valleys shape (Gael-de-Sailly)
  • settingtypes.txt: Fix valleys dungeon ymax error (paramat)
  • L-system: Fix leaves cutting through stems (HybridDog)

Items and nodes

  • Pointed thing to face pos: Use 'eye height' object property (paramat)
  • Ensure no item stack is being held before crafting (Luis Cáceres)
  • core.rotate_node: Run callbacks like with any regular placed node (SmallJoker)
  • Don't try to craft a non-existent item (Esteban)
  • Fix rotated node placement (tenplus1)
  • Item drop: Tune to land exactly 2 nodes away with level view (paramat)
  • Check item_drop amount clientside (rubenwardy)
  • Fix Android node selection distance (juhdanad)
  • Safe digging and placing (bendeutsch)
  • Fix for empty key/value when reading item string with wear but no metadata (Jesse McDonald)
  • Inventory: Fix wrong stack size behaviour and item loss (SmallJoker)

Objects/entities

  • Fix objects colliding with their children (SmallJoker)
  • core.spawn_falling_node: Keep metadata (SmallJoker)
  • Collision engine: Collide with 'ignore' nodes (paramat)
  • falling.lua: Delete falling node entities on contact with 'ignore' (paramat)
  • Position entity nametags relative to selection-box (stujones11)
  • Damage: Remove damage ignore timer (SmallJoker)
  • Item entities: Enable item collision detection for sudden movement (DTA7)
  • Ease selection of entities behind nodes (SmallJoker)
  • Object properties: Fix loss of custom selectionbox when it's not updated (SmallJoker)
  • GenericCAO: Fix light position for non-players, remove deprecated initialisation code (SmallJoker)
  • GenericCAO: Fix dark model below y = 0 (paramat)
  • CAO footstep sounds: Reduce gain to balance volume (paramat)

Players

  • Make player liquid speed independent of FPS (paramat)
  • Run detach callbacks on player leave (SmallJoker)
  • Localplayer: Fix disable_jump effect and getStandingNodePos() (SmallJoker)
  • Android stepheight: Only increase if 'touching ground' (paramat)
  • Respect object property hp_max field for players (SmallJoker)
  • Do not add base position to player selection box (stujones11)
  • Abort if static_spawnpoint is an invalid setting instead of just giving an error log (HybridDog)
  • Fix error not printed to console when no name is provided (juozaspo)
  • Fix player coordinate rounding in collisionMoveSimple() (JRottm)
  • Sneak: Stripped down version (SmallJoker)
  • (Re)spawn players within 'mapgen_limit' (paramat)
  • Stop autoforward on BACKWARD key-press (tukkek)
  • Apply physics overrides correctly during anticheat calculations (sfan5)

Modding

  • Fix builtin Lua function os.tempfolder (nOOb3167)
  • Fix isNan check for object:set_yaw(..) (nerzhul)
  • Fix LuaJIT include directory not being found (rubenwardy)
  • Check argument types inside MetaDataRef Lua API (sfan5)
  • Fix buffer parameter not working in LuaPerlinNoiseMap::l_getMapSlice() (pgimeno)
  • Fix naming conventions of noise userdata (rubenwardy)
  • Fix rounding error in g/set_node caused by truncation to float (rubenwardy)
  • Vector fun
  • CAO footstep sounds: Reduce gain to balance volume (paramat)aramat)
  • Fix default item callbacks to work with nil users (raymoo)
  • on_death: Fix callback number of pushed arguments (SmallJoker)
  • Fix core.wrap_text and make its behaviour consistent with the docs (sfan5)
  • Trigger on_rightclick regardless on the formspec meta field (SmallJoker)
  • LBM: use range based for and fixed a loop variable overloading in applyLBMs (nerzhul)
  • Fix deserialization of ItemDefinition (Rui-Minetest)
  • Plantlike meshoptions: Fix inverted random vertical offset (numberZero)
  • Player hand list: require init by mods (SmallJoker)

Debug

  • Fix missing logs from warningstream (or similar) (HybridDog)
  • Fix off-by-one in log output line length (pgimeno)
  • Profiler: Fix var args not being passed to callback register function (rubenwardy)

Internal / code quality

  • Add a MSVC / Windows compatible snprintf function (nOOb3167)
  • Fix memory leaks in mod storage (nerzhul, red-001)
  • Fix rtt >= 0.0f assertion and free_move crash (SmallJoker)
  • Global new() or grab() to be managed in constructor only (JDCodeIt)
  • Node resolver: Make error on fallback optional, disable for mapgen aliases (paramat)
  • FOV: Raise lower limit to avoid zoom-loading of distant world (paramat)
  • Fix many issues reported by clang-tidy (nerzhul)
  • Fix various clang-tidy reported performance-type-promotion-in-math-fn (nerzhul)
  • Selected ItemStack: Reduce black magic and improve the stack swapping behavior (SmallJoker)
  • core.rotate_node: Do not trigger after_place_node (SmallJoker)
  • Sound: fix static initialization order dependency by not having one (nOOb3167)
  • Fix various Client class functions not marked as override (virtual) (nerzhul)
  • Guard sound manager initialization with "enable_sound" (nOOb3167)
  • Fix an alone if to be with a missing else (nerzhul)
  • Drop texture file list cache (numberZero)
  • Variable name fix + structure creation unrolling in lighting code (nerzhul)
  • getv3intfield: Fix logic of return bool (paramat)
  • Generate Notifier: Clear events once after all 'on generated' functions (paramat)
  • Fix Wstringop-overflow warning from util/srp.cpp (HybridDog)
  • Tool getDigParams: Fix selecting the best fitting time (HybridDog)
  • Fix undefined behaviour on getting pointer to data in empty vector (nOOb3167)
  • Use Irrlicht's mesh cache for animated meshes. (lhofhansl)
  • Shut down mapgen threads before other shutdown tasks (raymoo)
  • Allow zoom to actually show more data. (lhofhansl)
  • Make use of safe file writing in auth handler (sfan5)
  • Fix inventory drag drop flag (asl97)
  • Fix strict_protocol_version_checking functionality after ee9a442 (SmallJoker)
  • Fix empty legacy meta being persisted (rubenwardy)
  • Lint fix on localplayer.h (nerzhul)
  • Sort box corners correctly (Thomas--S)
  • Remove unused Map::getDayNightDiff + fix one undefined variable in mapblock.cpp (nerzhul)
  • Check node updates whether the blocks are known (SmallJoker)
  • Really delete things in fs::RecursiveDelete (Vitality)
  • Disable HW stereo for IrrLicht 1.9 (numberZero)

Misc.

  • Fix for translating empty strings (minduser00)
  • Positional sound: Limit volume when closer than 1 node (paramat)
  • Change the server description after a search (Dumbledor)
  • Fix no sound bug (Rui-Minetest)

Other / Misc

  • Version scheme change: 0.5.0 -> 5.0.0 (nerzhul)
  • Move ASCII art to std::cerr, to remove it from logs (rubenwardy)
  • PlayerSettings struct for player movement code (bendeutsch)
  • Client eventmanager refactor (nerzhul)
  • Update mesh collector and move it to a separate file (numberZero)
  • Add Voxelarea unittests (nerzhul)
  • VoxelArea: add_{x,y,z,p} must be static (nerzhul)
  • Cleanup in flat lighting (numberZero)
  • Node definition manager refactor (juhdanad)
  • Move 'setlocale' from Lua to C++. (red-001)
  • Rewrite rendering engine (numberZero)
  • Improve the path select GUI (red-001)

Older versions (pre-5.0.0)

If you want to see older versions (older than 5.0.0), please go to this page.