Difference between revisions of "Changelog"

From Minetest Developer Wiki
Jump to navigation Jump to search
(→‎0.4.10 → 0.4.11: Added minetest_game changes)
m (Minor 5.10.0 corrections)
 
(382 intermediate revisions by 20 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].
  
 +
== 5.9.1 → 5.10.0 ==
  
<span style="color: #B00; font-size: large">Please, do '''not''' add individual changes to this page without adding previous changes. Doing so only serves to add confusion when someone tries to update the page.</span>
+
Released on 10 November 2024.
  
 +
=== Deprecations and compatibility notes ===
 +
* '''Minetest is now called Luanti.'''
 +
** The game executable name has changed, thus custom links and scripts might need maintenance.
 +
** Any <code>minetest.conf</code> files remain compatible (naming yet not changed).
 +
** For Unix: <code>$HOME/.minetest/</code> remains used for system-wide installations (naming yet not changed).
 +
** Mods may use the <code>core</code> table instead of the equivalent <code>minetest</code>. (see lua_api.md)
 +
* OpenGL ES 1.0 (ancient) is no longer supported. OpenGL ES 2.0 will be used instead.
 +
* (basic) shaders will eventually become a requirement. A warning is shown if they are disabled.
  
== 0.4.10 → 0.4.11 ==
+
=== Client / Audiovisuals ===
 +
* Added a workaround to fix shader errors on buggy Intel iGPU drivers on Windows 8.1 and older (''sfan5'')
 +
* Fixed Post Processing with the <code>ogles2</code> driver (''grorp'')
 +
* The main menu server filter / search box now filters more intuitively (''appgurueu'')
 +
* Touch controls are now enabled/disabled based on the used input device (''grorp'')
 +
* Main menu: redesigned ContentDB tab (''rubenwardy'')
 +
* Improved texture pack compatibility when using the <code>[mask</code> modifier (''SmallJoker'')
 +
* More fancy shaders (''GefullteTaubenbrust2'')
 +
** Server-controlled bloom shader API (''grorp'')
 +
** Follow-up fixes (various contributors)
 +
* Fixed sound mute on macOS (''sfence'')
 +
* Improved formspec scaling (''grorp'')
 +
* The minimap is again scaled proportional to the screen size (''grorp'')
 +
* Improved distinction of touch-related settings (''grorp'')
 +
** UI scaling settings and touch input are no longer tightly tied together (''okias'')
 +
* Transparency sorting now works more reliably (''Desour'')
 +
** Can be disabled entirely with <code>transparency_sorting_distance = 0</code>
 +
* Setting for debugging purposes: <code>show_block_bounds_radius_near</code> (''Desour'')
 +
* Windows touch controls are no longer enabled because they exist
 +
* Setting <code>smooth_scrolling</code> to disable smooth scrolling (''grorp'')
 +
* Touchscreens/Android: Button bar replaced with a grid menu for easier access (''grorp'')
 +
* (IME candidate list in Windows (''y5nw'')) - inactive: requires a USE_SDL=1 build.
  
=== New features ===
+
=== World / Server / Environment ===
 +
* More fine-grained control over anticheat by settings (''zmv7'')
 +
* "Access denied" strings may now be translated (''Emojigit'')
 +
* Setting <code>server_announce_send_players</code> to hide the player names from the public server list (''Emojigit'')
  
'''Big gameplay changes'''Vanilla game changes (minetest_game)  
+
=== Script API / Modding ===
 +
* Gettext and plural support for client-side translations (''Ekdohibs''. ''y5nw'')
 +
* Option to calculate the scroll container size automatically (''SmallJoker'')
 +
* Player controls API now supports joystick inputs (x/y) (''grorp'')
 +
* 6 textures support for <code>drawtype = "allfaces*"</code> nodes (''DragonWrangler1'')
 +
* ABM without_neighbors field (''sfence'')
 +
* Death formspec can now be customized (''grorp'')
 +
* Bulk LBM support (''sfan5'')
 +
* Players can now be requested to rejoin on kick (by mods) (''Emojigit'')
 +
* Static glTF models and animated models are now supported (''JosiahWI'', ''appgurueu')
 +
* The hotbar is now mod-customizable (''cx384'')
 +
* <code>core.get_server_status</code> and <code>core.privs_to_string</code> are now sorted (''zmv7'')
 +
* Overridable HP and breath logic, see <code>ObjectRef:get_flags</code> (''sfence'')
 +
* Fix animations not being restartable (requires up-to-date client and server) (''appgurueu'')
 +
* <code>core.close_formspec</code> (and equivalent) no longer throw incorrect deprecation warnings (''appgurueu'')
 +
* Object observers API (''appgurueu'')
 +
** This allows mods to selectively show entities to certain players.
 +
* New functions:
 +
** <code>core.ipc_(cas|poll)</code> for async communication (''sfan5'')
 +
** <code>core.bulk_swap_node</code> (''ryvnf'')
 +
** <code>core.colorspec_to_table</code>, <code>core.time_to_day_night_ratio</code> (''grorp'')
 +
** vector utils (ceil, sign, abs, random_in_area) (''kromka-chleba'')
 +
** <code>core.is_valid_player_name</code> (''appgurueu'')
 +
** <code>vector.random_direction</code> (''kno10'')
 +
** <code>table.keyof</code> (''Emojigit'')
 +
* Fixes related to ObjectRef lifecycles and crashes caused by attachments (''sfan5'')
 +
* Various script API documentation improvements (''Zughy'', ''nauta-turbidus'', ''appgurueu'')
  
* Added mapgen v5 ''(paramat)''
+
=== Misc / Maintenance ===
* Added enable_build_where_you_stand option ''(Sokomine)''
+
* Lots of renaming work (''grorp'', ''appgurueu'', ''Wuzzy'')
 +
* Server + client build targets will now build faster (''sfan5'')
 +
* Tracy profiler support (''Desour'')
 +
* Many cleanups and performance improvements (''sfan5'')
 +
* Network improvements (''sfan5'', ''red-001'')
 +
* Compiling/build improvements and fixes (''nerzhul'', ''AMDmi3'', ''Zughy'', ''sfan5'', ''SmallJoker'')
 +
* devtest game improvements (''appgurueu'', ''Desour'')
 +
* Various crash/sanity fixes
  
'''Smaller gameplay tweaks'''
+
== 5.9.0 → 5.9.1 ==
  
* Added inventory right click drag and drop ''(sruz25, Zeno)''
+
Released on 15 September 2024.
* Remove buildable_to nodes without dropping item when replaced by a falling node ''(Casimir)''
 
  
'''Visual changes'''
+
=== Highlights ===
 +
* Many bugfixes :)
  
* Reduced time of red screen when damaged ''(SmallJoker)''
+
=== Client / Audiovisuals ===
* Added video driver selection to settings menu ''(sapier, webdesigner97)''
+
* Reverted rendering optimizations that caused anomalies with certain hardware (''grorp'')
* Removed alpha channel from screenshots ''(BlockMen)''
+
* Main menu: Mapgen flags starting with "no*" are no longer shown (duplicate) (''appgurueu'')
* Added node highlighting ''(RealBadAngel)''
+
* Android: Fixed input issues (''grorp'')
* Added configurable selection box width. Min width = 1, max = 5 ''(TriBlade9)''
+
* Android: The minimap can again be proportional to the screen size (requires an up-to-date server) (''grorp'')
* Changed default halo.png for better visibility ''(RealBadAngel)''
+
* Sneak-sumping onto a stack of 2 nodes is again possible (''SmallJoker'')
* Added in-game key change menu ''(Mushiden)''
+
* Clouds no longer disappear when approaching them (''sfan5'')
* Improved lighting of the wielded item ''(kahrl, RealBadAngel)''
+
* The CSM help dialogue now uses "." instead of "/" (''zmv7'')
* Increased step smoothing to fit 1:1 stairs ''(Calinou)''
+
* Windows: disabled touchscreen autodetection due to lack of support of the non-SDL build (default for 5.9.x) (''rubenwardy'')
* Scale form elements consistently using new font engine by sapier ''(Zefram)''
 
* Made dropped items larger and rotate faster ''(Calinou)''
 
* Increase third person view distance ''(Calinou)''
 
* Made directional fog colors respect tonemap ''(Taoki)''
 
* Display serverlist flags as icons ''(kahrl, kilbith, VanessaE et al.)''
 
  
'''Build system changes'''
+
=== World / Server / Environment ===
 +
* Network improvements for slow connections (''sfan5'')
  
* Added ZLIBWAPI_DLL and LEVELDB_DLL CMake options ''(sfan5)''
+
=== Script API / Modding ===
* Removed legacy MINGWM10_DLL CMake option ''(sfan5)''
+
* yawsprite entities now work on OpenGL ES 2 (Android) (''sfan5'')
* Changed build directory for build bots to '_build' to prevent removal of Android build files ''(sfan5)''
+
* Fixed animation not playing back on upright sprite entities on most systems (''appgurueu'')
* Updated 32-bit build bot (OpenAL updated, zlib updated) ''(sfan5)''
+
* Bone overrides again return the same angles that were specified by mods to ease motion interpolation (''appgurueu'')
* Added -win64 suffix to build bots for 64-bit Windows builds ''(sfan5)''
+
* Fixed animations not being restartable ''appgurueu'')
* Updated the cURL the buildbot uses to 7.38.0 ''(sfan5)''
+
* <code>minetest.show_formspec</code> with an empty formspec name is no longer marked as deprecated (''appgurueu'')
* Added Android Makefile support for builds without LevelDB ''(sapier)''
 
* Improved Travis CI configuration ''(Mikaela Suomalainen)''
 
* Added gettext to Travis build ''(ShadowNinja)''
 
* Build for win32 & win64 on Travis too ''(sfan5)''
 
* Update MinGW toolchain downloads used by Travis ''(sfan5)''
 
* Fixed various build issues on Windows/MSVC ''(SmallJoker)'', Android ''(sapier, Kodexky)'', Mac OS X ''(Pavel Puchkin)''
 
  
'''Logistical changes'''
+
=== Misc / Maintenance ===
 +
* macOS 12 support (''sfence'')
 +
* Various fixes
 +
* Build fixes (''AMDmi3'')
 +
* Windows: removed symlink that caused issues while extracting the game archive (''sfan5'')
  
* Don't unload blocks if save failed ''(kwolekr)''
+
== 5.8.0 → 5.9.0 ==
* Don't copy back already generated blocks on map generation ''(kwolekr)''
 
* Moved MapBlock (de)serializing code out of Database class ''(sfan5)''
 
* Don't include cmake_config_githash.h into files that don't need it ''(sfan5)''
 
* Moved #includes from version.h to version.cpp ''(kahrl)''
 
* Improved timeout calculation when packets are lost ''(sapier)''
 
* Refactored a section of ban.cpp ''(Selat)''
 
* Allowed use all 6 faces for special tiles ''(RealBadAngel)''
 
* Saved previously generated blocks on Mapgen blitback ''(kwolekr)''
 
* Refactored Settings ''(ShadowNinja, Zeno, kwolekr)''
 
* Added setting groups (used for NoiseParams) and multiline entries ''(kwolekr)''
 
* Added NodeResolver and cleaned up node name -> content ID resolution system ''(kwolekr)''
 
* Added support for eased 3d noise ''(kwolekr)''
 
* Added notice when only minimal is installed ''(rubenwardy)''
 
* Split up mapgen.cpp ''(kwolekr)''
 
* Refactored the_game ''(Zeno)''
 
* Added Generator Element Management framework ''(kwolekr)''
 
* Cleaned up rollback ''(ShadowNinja)''
 
* Refactored main.cpp ''(Zeno)''
 
* Rewrote generate notification mechanism ''(kwolekr)''
 
* Rewrote fs::GetDirListing(file), fixing a potential buffer overflow ''(kahrl)''
 
  
'''Other changes'''
+
Released 2024-08-11
  
* Removed math mapgen ''(proller)''
+
=== Highlights ===
* Removed indev mapgen ''(proller)''
 
* Removed proller from credits ''(proller)''
 
* Updated default control documentation ''(BlockMen)''
 
* Made lighting CPU-only by removing finalColorBlend implementation from shaders ''(RealBadAngel)''
 
* Added /dummyball <count> command to the minimal game ''(kahrl)''
 
* Made the LuaJIT exception wrapper handle more exceptions ''(kahrl)''
 
* Added missing doc for minetest.get_us_time() ''(sapier)''
 
* Made HTTPFetch use the configured bind_address ''(ShadowNinja)''
 
* Made config compatible with C++ 2011 ''(donat_b)''
 
* Added a .mailmap file ''(Stefan Beller)''
 
* Search for subgames using $MINETEST_SUBGAME_PATH ''(David Thompson)''
 
* Added Indonesian language ''(srifqi)''
 
* Updated translations ''(kilbith, ShadowNinja)''
 
* Replaced setting unlimited_player_transfer_distance with player_transfer_distance ''(SmallJoker)''
 
* Added last_login field to auth.txt ''(Ryan Newell)''
 
* Added tooltips to main menu subgames button bar ''(Wuzzy)''
 
* Added option 'eased' to NoiseParams ''(SmallJoker)''
 
* Added (optional) client-side saving of server map to disk ''(sfan)''
 
* Added name of node 'pointed at' to debug ''(rubenwardy, Zeno)''
 
* Added space between client names in status text ''(Muhammad Rifqi Priyo Susanto)''
 
* Disabled loading .mtl files ''(RealBadAngel)''
 
* Made biome heat and humidity noise parameters user-configurable ''(kwolekr)''
 
* Added paste command (Ctrl-V) in chat console ''(kahrl)''
 
* Responsive tooltip offset for Android ''(Kodexky)''
 
* Allowed footstep sounds to play for liquid and ladder nodes ''(Taoki)''
 
* Added basic support for generating API documentation using Doxygen ''(Jürgen Doser)''
 
* Set WM_CLASS window hint for Xorg ''(kwolekr)''
 
  
=== Performance ===
+
* Rendering performance improvements (''paradust7'', ''sfan5'' & ''x2048'')
 +
* Added godrays shader (''x2048'')
 +
* New multithreaded Lua mapgen API to improve performance of custom mapgens. (''sfan5'')
 +
* Android: Punch with short tap (''grorp'')
 +
* Work in the background on switching to SDL2 for windowing and input (but not enabled in this release)
  
* Disabled preload_item_visuals by default ''(ShadowNinja)''
+
=== Deprecations and compatibility notes ===
* Sped up mapblock_mesh ''(RealBadAngel, Zeno)''
+
* "mod_translation_updater.py" is now located at https://github.com/minetest/modtools (''Zughy'')
* Implemented caching of facedir rotated meshes (controlled by enable_mesh_cache setting) ''(RealBadAngel)''
+
* The setting "opaque_water" is now called "translucent_liquids". (''Xeno333'')
* Removed most exceptions from getNode() (and variants) ''(Zeno)''
+
* Disabling fog and camera updates now requires the "debug" privilege (''sfan5'')
* Sped up removing a node (less block mesh updates) ''(RealBadAngel)''
+
* Since 5.9.0-dev, the Minetest repository now includes IrrlichtMt. The minetest/irrlicht repository is no longer a dependecy of newer releases.
* Reduced number of extrusion meshes to (usually) 5 instead of one per item ''(kahrl)''
+
* nodebox and mesh nodes now require <code>use_texture_alpha</code> to render with transparency (''sfan5'')
* Improved VoxelArea variable locality ''(Wouters Dorian)''
+
* In the HUD elements defintion, <code>hud_elem_type</code> was renamed to <code>type</code> (''cx384'')
* Optimised functions from CNodeDefManager and VoxelManipulator ''(Zeno)''
+
* Trusted mod directories are now readonly. Writing to any mod directory is now deprecated (''rubenwardy'')
* Optimised serialization, for example by using machine native byte swapping if available ''(Rafael Reilova)''
 
* Optimised main client loop ''(Zeno)''
 
* Optimised noise implementations ''(kwolekr)''
 
* Optimized getLight() by 2x ''(Zeno)''
 
* Stopped liquid queue from eating up more and more RAM; also liquid_loop_max now defaults to 100000 ''(Zeno, celeron55)''
 
* Changed TileSpec::frames to be std::vector not std::map ''(unknown, Zeno)''
 
  
=== Bug fixes ===
+
=== Work on SDL2 ===
 +
 
 +
As part of Minetest's efforts to modernise and improve graphics code, we've been working on switching
 +
to SDL2 for windowing and input. This will allow all platforms to support touch screen, keyboard+mouse, and gamepads.
 +
Due to remaining issues, Minetest 5.9.0 does not use SDL2 yet. But the ground work is there to support it in the future
 +
 
 +
'''Note: none of the following is available in 5.9.0 as SDL2 is disabled'''
 +
 
 +
* Improved cross-platform touchscreen support. You can now use touchscreen controls on desktop without a special build. (''grorp'', ''okias'')
 +
* F11 to toggle fullscreen
 +
* Support for hidef displays
 +
 
 +
=== Client / Audiovisuals ===
 +
* New setting <code>contentdb_enable_updates_indicator</code> to disable ContentDB requests (''rubenwardy'')
 +
* Make main menu more responsive by using async HTTP calls everywhere (''grorp'')
 +
* Formspecs are now closed by a single tap/click outside (''grorp'')
 +
* Smooth scrolling (''grorp'')
 +
* Add <code>repeat_dig_time</code> setting (''ryvnf'')
 +
* Add support for translating content titles and descriptions (''rubenwardy'')
 +
* Rendering performance improvements (''paradust7'', ''sfan5'' & ''x2048'')
 +
* Add help formspec for CSM commands (''Zemtzov7'')
 +
* Android: Fix app name in the notifications (''srifqi'')
 +
* Android: Add selection dialog (drop down/combo box) (''srifqi'')
 +
* Remove controls listed in the pause menu (not suited for touch inputs) (''Zughy'')
 +
* Remove server's address and port from pause menu (''srifqi'')
 +
* Fix semi-transparent appearance of objects (players/entities) when shaders are disabled (''SmallJoker'')
 +
* Allow mods to swap the meaning of short and long taps (punch with short tap) (''grorp'')
 +
* Recognize double-taps as double-clicks (''grorp'')
 +
* Make the loading screen progress bar respect "gui_scaling" (''grorp'')
 +
* Initial implementation of 'Godrays' shader (''x2048'')
 +
** Make volumetric light effect strength server controllable (''lhofhansl'')
 +
* Android: Pause rendering while the app is paused (efficiency) (''grorp'')
 +
* Add dithering, enabled by default, setting <code>debanding</code> (''HybridDog'')
 +
* <code>sound_volume_unfocused</code> for custom sound volume on focus loss (''srifqi')
 +
 
 +
=== World / Server / Environment ===
 +
* Minimap textures can now be overwritten by the server (''cx384'')
 +
* Add flag to control mgv6 temple generation (''sfan5'')
 +
* Android: safer and more reliable setting saving (''grorp'')
 +
* Fix multiple password changes in one session (''savilli'')
 +
* More performant improvement object (player/entity) management (''sfan5'')
 +
* Mapblock loading / view range fixes (''lhofhansl'')
 +
* Setting <code>protocol_version_min</code> (''Warr1024'')
 +
* Inventory changes
 +
** Usability fixes (''sfence'')
 +
** Reordering of inventory callbacks (''SmallJoker'')
 +
** Prevent item loss when stacking oversized ItemStacks (''SmallJoker'')
 +
* Avoid movement jitter while attached (''lhofhansl'')
 +
* Fixed improper liquid flow (''ZenonSeth'')
 +
 
 +
=== Script API / Modding ===
 +
* <code>core.override_item</code> additional parameter for fields to remove (''appgurueu'')
 +
* Collision moveresult now provide the object's own position (''grorp'')
 +
* Add physics overrides for walk speed and Fast Mode (''grorp'')
 +
* Allow <code>nil</code> puncher in <code>ObjectRef:punch(..)`</code> (''sfence'')
 +
* HUD: Text element color support (''SmallJoker'')
 +
* Allow optional actor in <code>core.(place|dig|punch)_node</code> (''Emojigit'')
 +
* Add button_url[] and hypertext element to allow mods to open web pages (''rubenwardy'')
 +
* Add world-independent storage directory for mods (''rubenwardy'')
 +
* ItemMetaData-controlled pointing range (''cx384'')
 +
* Add L-system trees as decorations (''cx384'')
 +
* Expose SHA256 algorithm to Lua (''sfan5'')
 +
* Multi-threaded Lua for mapgen (''sfan5'')
 +
** This is a set of new API functions
 +
* Allow dynamic_add_media at mod load time (''sfan5'')
 +
* Move hard coded minimap to Lua (builtin) (''cx384'')
 +
* Tool items: Add wear bar color API (''techno-sam'')
 +
* Improved <code>[combine</code> parameter checks (''sfan5'')
 +
* Fog API
 +
** Fix fog moon tint not working (''appgurueu'')
 +
** Allow fog color to be overriden in all cases (''sfan5'')
 +
* Fix revoke callbacks being run for <code>false</code> values passed to <code>set_privileges</code> (''appgurueu'')
 +
* Implement <code>pointabilities</code> API to selectively point or block the raycast of tool items (''cx384'', ''lhofhansl'')
 +
** + Lua raycast support (''grorp'')
 +
* Add rotation support for wallmounted nodes in 'ceiling' or 'floor' mode (''Wuzzy'')
 +
* Add API for restoring PseudoRandom (discouraged) and PcgRandom (recommended) state (''sfence'')
 +
* Add <code>player:hud_get_all()</code> (''cx384'')
 +
* Fix dividing by zero crashes in texture modifiers (''cx384'', ''SmallJoker'')
 +
* More modder-friendly output of the Lua profiler (''fluxionary'')
 +
* Add <code>ObjectRef:add_pos(..)</code> (''sfence'')
 +
* Rename <code>hud_elem_type</code> to <code>type</code> (''cx384'')
 +
* Fix <code>on_(grant|revoke)</code> not being run by mods (''appgurueu'')
 +
* Extend bone override capabilities (<code>ObjectRef:set_bone_override</code>) (''appgurueu'')
 +
* Add <code>touch_controls</code> to <code>core.get_player_window_information()</code> (''grorp'')
 +
* Persistent formspecs (re-sent on close) can no longer be closed (''SmallJoker'')
 +
 
 +
=== Misc / Maintenance ===
 +
* Many different documenation improvements
 +
* Mod translation script improvements (''srifqi'', ''sfan5'')
 +
* Rename `MINETEST_SUBGAME_PATH` to `MINETEST_GAME_PATH` (''cx384'')
 +
* Updates of the bundled libraries and Lua fixes (via ''sfan5'')
 +
* Support OpenGL 3 (''numberZero'')
 +
* Network code maintenance (''sfan5'')
 +
* Build system maintenance (''sfan5'', ''siboehm'')
 +
* Unittest and benchmark improvements (''sfan5'', ''numberZero'')
 +
* Other code maintenance and improvements (''sfan5'')
 +
* Update to Android SDK 34 (''rubenwardy'')
 +
 
 +
=== Minetest Game ===
 +
* No longer bundled in Minetest. Please have look at https://github.com/minetest/minetest_game/
 +
 
 +
==  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
 +
* <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 ===
  
* Fixed face shading issues ''(RealBadAngel)''
+
* Add game name to server status string (''sfan5'')
* Fixed crash reported here: https://forum.minetest.net/viewtopic.php?f=6&t=9726 ''(Novatux)''
+
* Improve TTF support for pixel-style fonts (''v-rob'')
* Fixed flipped textures for drawtype "glasslike" ''(sapier)''
+
* Joystick support for DragonRise GameCube controller (''Izzette'')
* Fixed indexing error in timer processing ''(Zefram)''
+
* Add "<code>MINETEST_MOD_PATH</code>" environment variable (''emixa-d'')
* Made tooltip_show_delay=0 work ''(Zefram)''
+
* Touch UI support for desktop builds (#10729) (''TheBrokenRail'')
* Fixed error handling on inconsistent client ready message ''(sapier)''
+
* Switch MapBlock compression to zstd (''lhofhansl'')
* Fixed texture hack in fences ''(RealBadAngel)''
+
* Joystick sensitivity for player movement (''NeroBurner'') + fixes (''sfan5'')
* Fixed texture glitches for plants with visual scale > 1.0 (jungle grass) ''(RealBadAngel)''
+
* Gettext support on Android (''Pevernow'')
* Fixed makeCuboid to apply rotations to all faces when 1 tile is given ''(RealBadAngel)''
+
* Make web links in chat clickable (Feature disabled by default, use setting <code>clickable_chat_weblinks</code>) (''pecksin'')
* Fixed display of interior of glasslike_framed node when its not defined ''(RealBadAngel)''
+
* Add a key to toggle display map block boundaries (F8 by default) (''grapereader'')
* Fixed LuaVoxelManipulator memory leak ''(Zeno-)''
+
* Improved wording of various chat command outputs (''Wuzzy'')
* Fixed seeds corrupting world creation menu formspec ''(ShadowNinja)''
+
* Normal texture support (for minimap shading) (again) (''numberZero'')
* Made face shading correct for all possible lighting modes ''(RealBadAngel)''
+
* Scale mouse/joystick sensitivity depending on FOV (''Elias Åström'')
* Fixed liquid sources and flowing surfaces having different brightness ''(RealBadAngel)''
+
* Various DevTest game additions and improvements (''Wuzzy'')
* Fixed main menu game initialization ''(BlockMen)''
+
* Chat commands: Show the execution time if the command takes a long time (''HybridDog'')
* Made safeWriteToFile() remove empty file if there is an error ''(Selat)''
+
* Improved item placement prediction (''sfan5'')
* Don't call player events without having player to do a event for ''(sapier)''
+
* Anticheat: Faraway inventory access protection (''SmallJoker'')  
* Fixed "ghost" blocks if block update is "on wire" while player digs nodes ''(sapier)''
+
* Pause animations while game is paused (''numberZero'')
* Added player name length checks ''(sapier)''
 
* Fixed chat messages capturing mouse interactions for menu/formspecs ''(sapier)''
 
* Fixed segmentation fault if popping from empty stack (L-system trees) ''(Zeno)''
 
* Fixed interlaced 3D mode second image being flipped when compiling with Irrlicht 1.8+ ''(sapier)''
 
* Fixed only one texture being updated on window resize, breaking side-by-side and top-bottom 3D modes ''(sapier)''
 
* Fixed access to invalid data when receiving empty packets ''(sapier)''
 
* Fixed some locking bugs ''(kahrl, ShadowNinja)''
 
* Use round if falling node is misplaced ''(SmallJoker)''
 
* Fixed and simplified player modification checks ''(ShadowNinja)''
 
* Fixed unit tests failing if IPv6 not available ''(Zeno)''
 
* Fixed wield mesh getting clipped by camera far value ''(kahrl)''
 
* Fixed raillike rendering bug on Android ''(Kodexky)''
 
* Don't corrupt stepheight when setting other properties ''(Ciaran Gultnieks)''
 
* Fixed mouse events getting passed from a table's scrollbar to its parent ''(kahrl)''
 
* Fixed minetest.place_schematic() when defined by a Lua table ''(kwolekr)''
 
* Ignore .name directories and files in main menu ''(SmallJoker)''
 
* Fixed some typos ''(sapier, rubenwardy, William Teder, ShadowNinja, kahrl, Zeno)''
 
  
=== Modding-related changes ===
+
=== Features: Main menu and ContentDB ===
  
* New drawtypes: mesh ''(RealBadAngel)'', firelike ''(TriBlade9)'', glasslike_framed_optional ''(BlockMen)''
+
* Chop game background in mainmenu (''appgurueu'')
* New texture modifiers: ^[mask ''(sfan5)'', ^[colorize ''(BlockMen)''
+
* ContentDB: Add support for package aliases / renaming (''rubenwardy'')
* New formspec element: scrollbar ''(sapier)''
+
* Improved "Join Game" tab (''sfan5'')
* Allowed non-integer sizes for item_image[] ''(Zefram)''
+
* Builtin function translation (''Wuzzy'', ''Zughy'')
* Added texture grouping via ( ... ) ''(sfan5)''
+
* Translation support for the builtin functions (''Wuzzy'', ''snowyu'') + updates (''Wuzzy'', see CONTRIBUTING file)
* Added mod profiling support ''(sapier)''
+
* Handle modpacks containing modpacks properly (''Elias Fleckenstein'')
* Added compression API ''(ShadowNinja)''
+
* Texture pack toggle by double clicking (''Yaman Qalieh'')
* Added update of the Mapgen VoxelManipulator on buffer invalidation ''(kwolekr)''
 
* Added LuaVoxelManip methods: get_node_at() and set_node_at() ''(kwolekr)''
 
* Simplified and optimized schematic replacements ''(ShadowNinja)''
 
* Made dump's output prettier ''(ShadowNinja)''
 
* Added collision_box node property ''(RealBadAngel)''
 
* Added warning when creating a global variable (unless it has the same name as the current mod) ''(ShadowNinja)''
 
* Added minetest.copy_table(table), vector.apply(v, func) and math.sign(x, tolerance) ''(SmallJoker)''
 
* Improved documentation for remove_item, string_to_pos, dig_node, on_step, get_meta ''(Ciaran Gultnieks)''
 
* Added minetest.clear_registered_biomes() ''(kwolekr)''
 
* Added new noise parameters: flags and lacunarity ''(kwolekr)''
 
* Added support for NoiseParams in minetest.get_perlin() ''(kwolekr)''
 
* Exposed mapgen chunksize in on_mapgen_init callbacks ''(kwolekr)''
 
  
=== Vanilla game changes (minetest_game) ===
+
=== Features: Modding ===
  
==== Gameplay ====
+
* 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'')
  
* Made opened trapdoor climbable ''(Zefram)''
+
=== Bugfixes ===
* Made doors form double-doors with other doors of any kind ''(Zefram)''
 
* Added filled buckets to creative inventory ''(Zefram)''
 
* Enabled dungeon generation by default ''(Amaz1)''
 
* Improved handling of boats ''(paramat)''
 
* Added pine trees, with needles, tree, wood and saplings ''(paramat, PilzAdam)''
 
* Made player-placed leaves not decay ''(PilzAdam)''
 
* Reworked infotext of furnace ''(PilzAdam)''
 
* Added Obsidian Bricks ''(HybridDog)''
 
* Changed controls of screwdriver ''(tenplus1, PilzAdam)''
 
  
==== Visuals ====
+
* 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)
  
* Changed ingot textures ''(Nore)''
+
=== Maintenance ===
* Made TNT smoke round ''(ShadowNinja)''
 
* Made fire use new fire drawtype ''(BlockMen)''
 
* Added new textures for cobble and furnace ''(Neuromancer56, BlockMen)''
 
* Added new textures for grass ''(BlockMen, Philipbenr)''
 
* Made glass use new, optional framed drawtype ''(BlockMen)''
 
* Added new textures for apples, chests, dirt, desert stone bricks, HP bar, snowballs ''(BlockMen)''
 
* Added new textures for ores, vessels, grass (plant), leaves and ladders ''(kilbith)''
 
* Added new textures for flowers ''(RHRhino)''
 
* Added new textures for doors ''(Amaz1)''
 
* Changed soil textures to use an overlay over default_dirt.png ''(PilzAdam)''
 
* Added new textures for soil ''(PilzAdam)''
 
* Added a bit white to crack texture ''(ShadowNinja)''
 
* Made signs a 3D box, instead of just a 2D plane ''(Calinou)''
 
  
==== Bugfixes ====
+
* 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)
  
* Fixed crafting recipe for iron bars ''(BlockMen)''
+
=== Minetest Game ===
* Added protection support to TNT ''(BlockMen)''
+
* Add “Read” and “Write” tabs to book interface when you own the book (''orbea'')
* Retain sign text when editing is aborted via Esc ''(Zefram)''
+
* Allow to write books without text or title (''orbea'')
* Fixed Desert Sand Soil dropping itself ''(Amaz1)''
+
* Make identical keys stackable (''Luis Royer'')
* Consistently use group:stick in tool recipes ''(Zefram)''
+
* Fix creative inventory trash slot not working for player named “trash” (''Montandalar'')
* Fixed boats flying upwards ''(paramat)''
+
* Fix sunlight propagation for glass stair/slab (''An0n3m0us'')
* Fixed hoes wearing out in creative mode ''(BlockMen)''
+
* Fix glass bottle with firefly not being placable in vessels shelf (''An0n3m0us'')
* Fixed brown dye being in yellow color group ''(BlockMen)''
+
* Other bugfixes
* Fixed player staying attached when removing boat ''(BlockMen)''
+
* Translations: Esperanto (''Jason Cartwright''), Russian (''ptah-alexs''), Japanese (''nogajun''), German (''Wuzzy''), Slovak (''Daretmavi''), French (''Olivier Dragon''), Swedish (''ROllerozxa''), Chinese (''雷哲翰''), Ukrainian (''baytuch'')
* Removed "leaked" global variables ''(PenguinDad, kaeza, CraigyDavi, PilzAdam)''
 
* Fixed various bugs with fire sounds ''(PilzAdam)''
 
* Fixed possible stacking of books in bookshelf ''(MT-Modder)''
 
* Fixed soil drying out if nearby water is unloaded ''(PilzAdam)''
 
* Fixed rotating of locked doors to bypass them ''(PilzAdam)''
 
* Fixed screwdriver overriding bits in param2 that are not used for rotation ''(PilzAdam)''
 
  
==== Miscellaneous ====
+
== 5.3.0 → 5.4.0 ==
  
* Added enable_tnt setting ''(ShadowNinja, Yepoleb)''
+
Released on 23 Feb 2021.
* Optimized TNT explosion ''(ShadowNinja)''
 
* Added option for custom opening and closing sound for doors ''(Jat15, Zefram)''
 
* Removed generation of flowers, papyrus, cactus and grass (plant) generation from other mapgenerators than v6 ''(paramat)''
 
* Removed ore definitions for indev mapgen ''(paramat)''
 
* Added all saplings to group sapling ''(PilzAdam)''
 
* Allowed the group book to be placed in bookshelf ''(PilzAdam)''
 
* Added a minetest.conf.example with all settings from minetest_game, that can be changed in mintest.conf ''(PilzAdam)''
 
* Removed remains of weather and finite liquids ''(PilzAdam)''
 
* Restructured and moved furnace code to furnace.lua ''(PilzAdam)''
 
  
=== Master server (server list) ===
+
=== Deprecations and compatibility notes ===
* Announce mg_name from map_meta.txt instead of minetest.conf ''(kahrl)''
 
  
== 0.4.9 → 0.4.10 ==
+
* 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:
  
0.4.10 was released on July 6, 2014.
+
<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>
  
=== New features ===
+
=== Features ===
  
'''Big gameplay changes'''
+
==== General ====
  
* Added third person view ''(BlockMen)''
+
* 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'')
* Removed finite liquid and weather ''(proller)''
+
* 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'')
  
'''Smaller gameplay tweaks'''
+
==== Main menu and ContentDB ====
  
* Create bones only when the player's inventory is not empty & remove the bones when emptied ''(arsdragonfly)''
+
* ContentDB: Add dependency resolution, update all, and download queues (''rubenwardy'')
* Made pause menu actually pause singleplayer game and use lower maximum FPS in it ''(celeron55)''
+
* ContentDB: Add overwrite dialog when content is already installed (''rubenwardy'')
* Prevented placing node when player would be inside new node ''(BlockMen)''
+
* ContentDB: Use icons for buttons (''Zughy'')
* Drop an item instead a stack while sneaking ''(Lord89James)''
+
* Add open user data button to main menu (''rubenwardy'')
* Added support for exiting formspecs by doubleclicking outside ''(sapier)''
+
* Main menu: Add clear button and icon for search input (''Andrey'')
 +
* Improve layout of main menu 'local' tab (''Paramat'')
  
'''Logistic changes'''
+
==== Modding: GUI (Formspecs) / HUD ====
  
* Made build prefer pkg-config for freetype2 detection ''(hasufell)''
+
* Add sound effect style option (''Pierre-Yves Rollo'')
* Added function to deregister a profiler from profiler list ''(sapier)''
+
* Add 3d model formspec element (''Jean-Patrick Guerrero'', ''SmallJoker'', ''Thomas--S'')
* Made MutexQueue use jsemaphore for signaling ''(sapier)''
+
* Add minimap and compass HUD elements (''Pierre-Yves Rollo'', ''Jean-Patrick Guerrero'')
* Added maximum recursion depth to read_json_value ''(ShadowNinja)''
+
* Make bgcolor tint button background images (''Hugues Ross'')
* Made default User-agent follow RFC 2616 ''(ShadowNinja)''
+
* Add gradients and borders to FormSpec boxes (''v-rob'')
* Include system info in the HTTP user agent on Windows ''(sfan5)''
+
* Add font styling options (''v-rob'')
* Added proper client initialization ''(sapier)''
+
* Add set_focus[] to initially focus elements (''v-rob'')
* Settings: Add no-exception variants of each get method ''(kwolekr)''
+
* Make dropdowns optionally return event based on index, not value (''v-rob'')
* Huge overhaul of the entire MapgenParams system ''(kwolekr)''
+
* Avoid drawing clipped out formspec elements (''EvidenceB'')
* ServerEnvironment: Remove direct dependency on EmergeManager ''(kwolekr)''
+
* Darken tabheader background color (''Kezi'')
* Replace pause, message, and death menus by formspec ones ''(sapier)''
+
* Add inventory list styling: spacing, slot size, and noclip (''v-rob'')
* Pass arguments by reference, reducing data copies ''(Selat)''
+
* Add support for custom object crosshair image: object_crosshair.png (''LoneWolfHT'')
* Cleaned up client init states by bumping protocol version ''(sapier)''
 
* Added support for named threads on Linux, BSD, and Windows (MSVC-only) ''(sapier, ShadowNinja)''
 
* Infered ipv6_server from bind_address; fixed client connect to IN(6)ADDR_ANY ''(kahrl)''
 
* Fixed all warnings reported by clang ''(sfan5)''
 
* Removed locks that aren't absolutely required from JThread ''(sapier)''
 
* Use narrow_to_wide in gettext instead of operating system dependent conversion function ''(sapier)''
 
* Organized builtin into subdirectories ''(ShadowNinja)''
 
* Switched to "core" namespace internally ''(ShadowNinja)''
 
* Mapped Irrlicht log level to Minetest's and allowed writing Irrlicht logs to debug file ''(RelaBadAngel)''
 
* Made print() NUL-safe ''(ShadowNinja)''
 
* Added formspec toolkit and re-factored main-menu to use it ''(sapier)''
 
* Reworked dumping functions ''(ShadowNinja)''
 
* Improved performance by removing some temporary objects ''(sapier)''
 
* Added an AppData file ''(David Gumberg)''
 
* United node shaders and improved shader performance ''(RealBadAngel)''
 
* Made players only stay loaded while they're connected ''(ShadowNinja)''
 
* Added formspec API versioning ''(sapier)''
 
* Added support for multipart/form-data to HTTPFetch ''(ShadowNinja)''
 
* Improved error reporting of LevelDB backend ''(sfan5)''
 
  
'''Visual changes'''
+
==== Modding: Other ====
  
* Added waypoint HUD element ''(RealBadAngel)''
+
* Add support for showing attached objects whilst in first person mode (''Jordach'')
* Added on-the-fly normal map generation ''(RealBadAngel)''
+
* Add ability to cancel a minetest.after call after it was started (''tenplus1'')
* Made sun and moon textureable ''(RealBadAngel)''
+
* Add on_rightclickplayer callback (''sorcerykid'')
* Made formspec text-area word-wrap ''(RealBadAngel)''
+
* Add on_deactivate callback for luaentities (''hecks'')
* Added support for DPI based HUD scaling ''(sapier)''
+
* Add minetest.get_objects_in_area (''Elias Fleckenstein'')
* Made debug text adjust it's border to the screensize ''(ShadowNinja)''
+
* Add ObjectRef:get_children() (''Zughy'')
* Added download rate to non-HTTP media progress bar ''(sapier)''
+
* Add a short_description to be used by mods (''DS'')
* Added support for interlaced-polarized, top-bottom, and side-by-side 3D screens ''(sapier)''
+
* Add minetest.get_artificial_light and minetest.get_natural_light (''HybridDog'')
* Made pause menu hide before "Shutting down..." message is drawn ''(sapier)''
+
* Add register_on_chatcommand to SSM and CSM (''Elijah Duffy'')
* Sorted commands and privileges alphabetically in '/help' ''(kaeza)''
+
* Add vector.offset (''DS'')
* Improved face shading with and without shaders ''(RealBadAngel)''
+
* Register missing get_texture_mod function (''karamel59'')
* Added support for scalable font and GUI elements ''(sapier)''
+
* content_cao: Support texture animation for upright_sprite (''sfan5'')
* Made GUITable mouse wheel scrolling faster ''(kahrl)''
+
* 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 changes'''
+
=== Other enhancements and maintenance ===
  
* Added the option to bind to a specific address ''(ShadowNinja)''
+
* Cross-reference the node level manipulation functions (''Oblomov'')
* Made flag strings clear specified flag with 'no' prefix ''(kwolekr)''
+
* Update fallback fonts and mark additional locales as broken (''sfan5'')
* Added check to avoid usage of broken LuaJIT < 2.0.0-beta-8 ''(sapier)''
+
* Clean up l_object.cpp (''Zughy'')
* Lots of new and updated translations ''(many contributors)''
+
* Devtest: Improve various things (''Paramat'', ''HybridDog'', ''Wuzzy'')
* Improved performance of ABMs by only calcuating object counts once ''(CiaranG)''
+
* Android: Add CI with saving artifacts (''Maksim'')
* Improved win32 file version information ''(sapier)''
+
* Add NetBSD cpu affinity support code (''David CARLIER'')
* Documented CMake options in README ''(sfan5)''
+
* Android: drop simple MainMenu (''Maksim'')
* Corrected misleading detached inventory error message ''(CiaranG)''
+
* Add support for Haiku OS (''David CARLIER'')
* Added more informative error messages for inventory and item method errors ''(ShadowNinja)''
 
* Added redis database backend ''(sfan5)''
 
* Moved the old stuff to doc ''(BlockMen)''
 
* Removed dependency on marshal and many other async changes ''(ShadowNinja)''
 
* Made item entity stacks merge on the ground and add TTL to item entities ''(RealBadAngel)''
 
* Updated buildbot scripts and added 64-bit buildbot ''(sfan5)''
 
* Added support for directly starting a world by name from command line ''(sapier)''
 
* Many performance improvements and memory usage reductions ''(sapier)''
 
* Added support for Android 2.3 and later ''(sapier)''
 
  
 
=== Bug fixes ===
 
=== Bug fixes ===
  
* Fixed objects being selected behind a node ''(Novatux)''
+
==== Security ====
* Fixed absence of images when compiled with RUN_IN_PLACE=0 ''(xyz)''
+
 
* Added option to link to OpenGL ES ''(sfan5)''
+
* Prevent players accessing inventories of other players (''Lars Müller'')
* Fixed CMake list parsing in build ''(hasufell)''
+
* Inventory: Protect Craft and Drop actions (''SmallJoker'')
* Fixed cutting of multi-line error messages at half of second line in main menu dialog ''(celeron55)''
+
* Prevent interacting with items out of the hotbar (''Lejo'')
* Created new instance of mesh every time it's required ''(celeron55)''
+
* Fix inventory swapping not calling all callbacks (''Lars Müller'')
* Escaped error messages in error dialog ''(PilzAdam)''
+
* Patch fast/teleport vulnerability when attached to an entity (''Elias Fleckenstein'')
* Added operating system to user agent ''(proller)''
+
* Prevent games from setting secure settings (''rubenwardy'')
* Prevented auto-rotated nodes from replacing the nodes they were placed on ''(ShadowNinja)''
+
* Prevent players from being able to modify ItemStack meta (''luk3yx'', ''rubenwardy'')
* Added protection support to auto-rotated nodes ''(ShadowNinja)''
+
 
* Prevented looking up node texts in a endless recursion loop ''(sapier)''
+
==== Other ====
* Set locale properly when built without gettext support ''(celeron55)''
+
 
* Fixed Minetest's reliable UDP implementation ''(sapier)''
+
* Fix dropped craftitems/tools not using light_source values (''LoneWolfHT'')
* Compare values instead of pointers in Inventory::operator== ''(kahrl)''
+
* Fix when on_player_hpchange is called (''SmallJoker'')
* Fixed some errors reported by clang static analyzer ''(xyz)''
+
* Use JSON for favorites list, fixing many bugs (''rubenwardy'')
* Fixed win32 reading semaphore count not working (broke all queues) ''(sapier)''
+
* Fix hypertext and textarea elementing consuming scroll events (''v-rob'')
* Prevented player from jumping into nodes from below ''(BlockMen)''
+
* Fix ESC in error dialog from closing Minetest (''Yaman Qalieh'')
* Fixed cURL DLL not getting installed when sound was disabled ''(sfan5)''
+
* Remove null bytes from TOCLIENT_BLOCKDATA (''luk3yx'')
* Fixed error on mod download failure ''(ShadowNinja)''
+
* Load system-wide texture packs too (''Zughy'')
* Fixed use of previously deallocated EmergeManager ''(kwolekr)''
+
* Fix Android support in bump version script (''rubenwardy'')
* Fixed only half of unreliable queue being handled per step in worst case ''(sapier)''
+
* ContentDB: Ignore content not installed from ContentDB (''rubenwardy'')
* Fixed player textures by adding '-' to list of allowed characters in media filenames ''(sapier)''
+
* Sanitize server IP field in mainmenu (''Zughy'')
* Fixed texture pack names corrupting mainmenu ''(ShadowNinja)''
+
* Fix item tooltip background color not working (''Lars Mueller'')
* Fixed crash when a error occurred in a globalstep callback ''(ShadowNinja)''
+
* Display Minetest header when menu_last_game value isn't available anymore (''Zughy'')
* Fixed a heap-use-after-free in pause menu ''(xyz)''
+
* Fix minetest.is_nan (''Lars Mueller'')
* Added checks for invalid user input for important settings ''(kwolekr)''
+
* Fix some minor code issues all over the place (''sfan5'')
* Fixed memory leak in database migration ''(Selat)''
+
* Minor profiler fixes. (''Lars'')
* Fixed invalid check for fread error on extracting zip ''(sapier)''
+
* Fix fallnode rotation of wallmounted nodebox/mesh (''Wuzzy'')
* Fixed a unloaded but active block problem ''(CiaranG)''
+
* Make installer create its own Minetest folder (''LoneWolfHT'')
* Fixed rendering glitches when far from the center of the map ''(Novatux)''
+
* Implement mapblock camera offset correctly (''hecks'')
* Fixed race condition on exit to menu ''(sapier)''
+
* Fix MSAA stripes (''HybridDog'')
* Fixed generating winresource.o with build dir != source dir ''(sfan5)''
+
* Fix certain connected nodeboxes crashing when falling (''sfan5'')
* Fixed special characters in pause and message menu ''(BlockMen)''
+
* Avoid generating the same chunk more than once with multiple emerge threads. (''Lars'')
* Fixed game pause in singleplayer ''(BlockMen)''
+
* Fixed various issues with stars, sky, and clouds (''numzero'')
* Fixed "ghost stacks" created when a player clicks an item on the ground ''(Novatux)''
+
* Fix falling image of torchlike if paramtype2="none" (''Wuzzy'')
* Fixed double sending of chat messages ''(sapier)''
+
* Fix player sprite visibility in first person (''sfan5'')
* Fixed bug in RemoteClient::GetNextBlocks ''(celeron55)''
+
* Fix object interaction distance not being checked (''rubenwardy'')
* Fixed crash when teleporting near unknown node ''(BlockMen)''
+
* Block attempts to connect to the client (''red-001'')
* Fixed broken IPv4 serialization on win32 ''(sapier)''
+
* Fix segfault in deprecation logging due to tail call, log by default (''rubenwardy'', ''SmallJoker'')
* Fixed invalid liquid lighting ''(RealBadAngel)''
+
* Player physics: Ensure larger dtime simulation steps (''Lars Müller'')
* Fixed wrong node texture rotation for facedirs 5 and 7 ''(MetaDucky)''
+
* Avoid resending near blocks unnecessarily. (''Lars'')
* Fixed crash when trying to draw too many items from inventory in HUD ''(celeron55, RealBadAngel)''
+
* Fix CSMs on arm64 (''luk3yx'')
* Fixed a text border update bug ''(ShadowNinja)''
+
* Fix Media... 0% on loading screen (''Maksim'')
* Added a hack to avoid a 2 second startup delay on local games ''(sapier)''
+
* Implement unloading of static_save=false objects according to existing docs (''sfan5'')
* Fixed player:set_animation() in third person view ''(BlockMen)''
+
* Decouple entity minimap markers from nametags replacing with show_on_minimap property (''sfan5'')
* Fixed numeric underflow on calculating window size adjustment ''(sapier)''
+
* Periodically release all mesh HW buffers to avoid an Irrlicht bottleneck. (''Lars'')
* Fixed heart + bubble bar size on different texture packs ''(sapier)''
+
* Fix float argument check in minetest.set_timeofday() (''Zughy'')
* Added a limit to node meta data resolving recursion ''(ShadowNinja)''
+
* Avoid drawing invisible blocks on the client. (''Lars'')
* Fixed typo (std::encl) in src/gettext.cpp ''(JakubVanek)''
+
* Fix scroll bar overlapping text (again) (''random-geek'')
* Fixed wielded index being greater than inventory size ''(RealBadAngel)''
+
* Reduce the FPS when the window is unfocused (''HybridDog'')
* Fixed chat overlaying full screen ''(sapier)''
+
* Android: replace InputDialogActivity on simple dialog window (''Maksim'')
* Fixed build on big endian architectures ''(mat8913)''
+
* Correct erroneous reported max lag with prometheus (''Buckaroo Banzai'')
* Made lack of IPv6 non-fatal to unit tests ''(sapier)''
+
* Fix horizontal/vertical merging bug of hardware-colored framed glass (''Paramat'')
* Fixed the Map and Rollback databases not closing ''(sapier)''
+
* Fix chat/infotext overlap if many chat lines (''Wuzzy'')
* Fixed day/night passing at the wrong speed on some architectures ''(sapier)''
+
* Settings: Fix crash on exit (''SmallJoker'')
* Handle missing tablecolumns[] ''(kahrl)''
+
* Record player existence in dummy database. (''Lars'')
* Fixed wrong status text rectangle ''(sapier)''
+
* Darwin platform build fix (''David CARLIER'')
* Fixed GenericCAO not grabing member objects, causing them to be deleted early ''(sapier)''
+
* Scale inventory image for scaled allfaces nodes (''Wuzzy'')
* Fixed support for Max OSX ''(mdoege)''
+
* Fix NetBSD build (''David CARLIER'')
* Fixed regression in light calculation ''(sapier)''
+
* 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.
  
=== Modding-related changes ===
+
=== 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
  
* Passed pointed_thing to after_place_node ''(ShadowNinja)''
+
=== Client / Audiovisuals ===
* Documented "wielditem" visual ''(ShadowNinja)''
+
* Smoother camera movement to fix jump glitches (''paramat'')
* Passed pointed_thing to on_rightclick ''(Novatux)''
+
* More precise player controls handling (''TheTermos'')
* Added forceloading ''(Novatux)''
+
* Fix bone-attached entities (''hecktest'')
* Added InvRef::get/set_lists() ''(ShadowNinja)''
+
* Fix incorrect position data on attach (''hecktest'')
* Mapgen V6: Added flag to stop mud flow ''(kwolekr)''
+
* Fix HUD scaling (mainly for Android) (''MoNTE48'')
* Allowed vertical axis particle rotation constraint ''(khonkhortisan)''
+
* Fix incorrect entity light calculations (''SmallJoker'', ''sfan5'')
* Used tables for adding particles, deprecated former way ''(khonkhortisan)''
+
* Add chat_log_level and chat_font_size setting (''SmallJoker'')
* Added formspec table ''(kahrl)''
+
* New default sky color gradient (''TheTermos'')
* Added minetest.override_item ''(ShadowNinja)''
+
* Change default keys for camera/minimap to C/V (''Wuzzy'')
* Added reading of slice probability table from schematic descriptors ''(kwolekr)''
+
* Fix breath bar scaling (''ANAND'')
* LuaVoxelManip: Added get_param2_data and set_param2_data ''(kwolekr)''
+
* Fix bone position changes breaking animations (''theviper121'')
* Added pointed_thing to minetest.register_on_placenode ''(ShadowNinja)''
+
* No grey screen when C++ errors are thrown by Lua (''pauloue'')
* Added pointed_thing to minetest.register_on_punchnode and on_punch callbacks ''(ShadowNinja)''
+
* Android: add OpenGL ES 2 support (''MoNTE48'')
* Added player:set_sky() with simple skybox support ''(celeron55)''
+
* Reuse object_shader for "wielditem" and "item" entities (''dcbrwn'')
* Added player:override_day_night_ratio() for arbitrarily controlling sunlight brightness ''(celeron55)''
+
* Shaders: Fix OpenGL < 4.3 compatiblity (''SmallJoker'')
* Added minetest.kick_player(name, reason) ''(sapier)''
+
* Formspec: properly display altered inventory lists (''DS'')
* Added capability to read table flag fields from Lua API ''(kwolekr)''
+
* Android: Various input-related fixes (''MoNTE48'')
* Added minetest.set_noiseparam_defaults() ''(kwolekr)''
+
* Android: Android Studio support, improve everything (''MoNTE48'')
* Added force_placement parameter to minetest.place_structure ''(kwolekr)''
+
* Remove sound menu and show proper msgs if sound is off (''Wuzzy'')
* Removed "Server -!- " prefix from player messages ''(ShadowNinja)''
+
* Highlight hovered formspec elements when pressing F5, for testing (''SmallJoker'')
* Updated set_mapgen_params and set_gen_notify to use new flag format ''(kwolekr)''
+
* Implement DPI scaling for Windows (''sfan5'')
* Added player:set_local_animations() ''(BlockMen)''
+
* Allow relative directories for `screenshot_path` (''Calinou'')
* Added player:set_eye_offset() ''(MirceaKitsune, BlockMen)''
+
* Add (optional) tone mapping for entities (''dcbrwn'')
* Added support for function serialization to minetest.serialize ''(ShadowNinja)''
+
* Add new mapgen options in world creation dialog (''Wuzzy'')
* Added proper Lua API deprecation handling ''(sapier)''
+
* Add support for overriding item inventory/wield images in texture packs (''Df458'')
* Made dump2() return the serialized string, like dump() ''(ShadowNinja)''
 
* Added item eat callback ''(rubenwardy)''
 
* Added success and output return values to chat commands ''(ShadowNinja)''
 
* Allowed custom liquids to have drops ''(sfan5)''
 
* Made dropdown formspec elements send their values the same way that buttons do ''(sapier)''
 
* Reworked tooltips, adding a tooltip element ''(RealBadAngel)''
 
* Reworked the glasslike_framed drawtype ''(RealBadAngel)''
 
  
=== Vanilla game changes (minetest_game) ===
+
=== 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'')
  
* Added desert cobblestone, dropped by desert stone ''(brunob.santos, sfan5)''
+
=== World / Server / Environment ===
* Added desert stone brick and sandstone brick stairs/slabs ''(Amaz1)''
+
* Fix liquids refusing to flow in X+ or Z+ in some cases (''sfan5'')
* Added extended doors mod ''(PenguinDad, BlockMen)''
+
* Rework functionality of leveled nodes (''Wuzzy'')
* Added glass panes and iron bars ''(BlockMen)''
+
* New Mapgen V7 floatland implementation (''paramat'')
* Added TNT ''(BlockMen)''
+
* Server: Better emerge multithreading, various fixes (''sfan5'')
* Reworked farming mod, added API ''(webdesigner97)''
+
* Correctly indicate failure in /spawnentity (''sfan5'')
* Upwards digging for papyrus and cactus ''(casimir)''
+
* Add PostgreSQL authentication backend (''nerzhul'')
* Additional mirrored recipes for axes ''(marvok)''
+
* Add chat command "/revokeme (priv)(''Panquesito7'')
* Bookshelves have an inventory (for books) ''(arsdragonfly)''
+
* Optimize get_objects_inside_radius calls (''nerzhul'')
* Added furnace protection and progress visualization ''(Krock)''
+
* Fix world migration to PostgreSQL (''sfan5'')
* Added /sethome and /home commands (with “home” privilege) ''(sfan5)''
+
* Collision detection fixes and follow-up bug fixes (''TheTermos'')
* Added Mese and diamond hoes ''(BlockMen)''
+
* Many many networking improvements (''sfan5'')
* Enabled jungles by default on new worlds ''(sfan5, BlockMen)''
 
* Increased crafting output for stairs (4 → 6) ''(Jonathon Station)''
 
* Made punching bones pick up items ''(Krock)''
 
* Made items drop if no space for bones ''(Krock)''
 
* Don't create bones when inventory is empty ''(arsdragonfly)''
 
* Added cuboid wieldhand ''(paramat)''
 
* Many new textures, added inventory backgrounds ''(BlockMen)''
 
  
=== Master server (server list) ===
+
=== 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'')
  
* Fixed null string escape in server list ''(proller)''
+
=== Misc / Build ===
* Made server announcing use multipart/form-data ''(ShadowNinja)''
+
* Android: Hide media from galleries etc (''rubenwardy'')
* Fixed boolean typing and alignment ''(ShadowNinja)''
+
* Minimal development test [minimal] renamed to “Development Test” [devtest] (''Wuzzy'')
* Fixed code style, const-correctness, and types ''(ShadowNinja)''
+
* Complete overhaul of Development Test, many new features added for testing the engine, more documentation added in README files, etc. (''Wuzzy'')
* Moved the master server to separate repository ''(ShadowNinja)''
+
* Particle & ParticleSpawner code cleanup (''sfan5'')
* Fixed seconds validity check ''(ShadowNinja)''
+
* Add Prometheus support (''nerzhul'')
* Made README more complete ''(ShadowNinja, sfan5)''
+
* Fix detection of in-place path_locale when RUN_IN_PLACE=0 (''sfan5'')
* Made the hovered entry highlight in very light gray ''(sfan5)''
+
* List STATIC_LOCALEDIR in "--version" (''sfan5'')
* Switched to 'display' instead of 'visibility' to prevent the page from having white space at the bottom ''(sfan5)''
+
* Many code optimizations (''sfan5'')
 +
* Wireshark dissector update (''sfan5'')
 +
* Split and re-organize server object code (''nerzhul'')
 +
* Automatic build improvements (''sfan5'', ''nerzhul'')
  
== 0.4.8 → 0.4.9 ==
+
=== 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'')
  
0.4.9 was released on January 1, 2014.
+
== 5.1.0 → 5.2.0 ==
  
=== New features===
+
Released on 5 April 2020.
<!--'''Big gameplay changes'''-->
 
<!--'''Smaller gameplay tweaks'''-->
 
  
'''Logistic changes'''
+
=== 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'')
  
* Added SQLite rollback ''(Mario Barrera & ShadowNinja)''
+
=== GUI Improvements ===
* Implemented HTTPFetch ''(kahrl)''
+
* Add visual feedback for button states (''Df458'')
* Replaced SimpleThread with JThread ''(sapier)''
+
* Formspec: draw order and clipping for all elements (''DS'')
* Added handling for LuaErrors in Lua -> C++ calls on LuaJIT ''(ShadowNinja)''
+
* Refactor internal button styling/rendering code (''Df458')
* Made SHA1::addBytes(..., 0) a no-op instead of an assertion failure ''(kahrl)''
+
* 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'')
  
'''Visual changes'''
+
=== 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'')
  
* Reworked shaders ''(RealBadAngel)''
+
=== Script API / Modding ===
* Added configurable font shadow ''(xyz)''
+
* CSM: Introduce get_modpath() (''sfan5'')
* Added Directional fog + horizon colors ''(Taoki)''
+
* CSM: Remove non-functional minetest.get_day_count() (''sfan5'')
* Removed FPS from window title (Doubles performance on some window managers) ''(PilzAdam)''
+
* 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'')
  
'''Other changes'''
+
=== 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'')
  
* Implemented modstore search tab and version picker ''(sapier)''
+
=== Minetest Game ===
* Added check for denied access in itemdef/nodedef/media fetch loop ''(kahrl)''
+
* 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'')
  
=== Bug fixes ===
+
== 5.1.0 → 5.1.1 ==
  
* Fixed line_of_sight() ''(sapier)''
+
Released on 17 January 2020.
* Fixed modstore/favourites hang by adding asynchronous Lua ''(sapier)''
 
* Fixed LevelDB maps ''(sfan5)''
 
* Fixed Lua mapgen override param handling ''(kwolekr)''
 
* Fixed leak and possible segfault in minetest.set_mapgen_params ''(kwolekr)''
 
* Fixed segfault in indev cave generation due to uninitialized variable ''(kwolekr)''
 
* Added check for if width, height or start index of a list[] is negative ''(PilzAdam)''
 
* Fixed single character formspec field labels ''(BlockMen)''
 
* Added handling for Lua errors in on_generate callbacks ''(kwolekr)''
 
* Update mapgen params in ServerMap after Mapgen init ''(kwolekr)''
 
* Fixed wrong names for parallax settings in config example. ''(RealBadAngel)''
 
* Fixed particle code ignoring return value of std::vector::erase(). ''(kahrl)''
 
* Fixed minetest.facedir_to_dir when param2 is 5 or 7. (Again) ''(Novatux)''
 
* Fixed InventoryList reading order ''(ShadowNinja)''
 
* Initialize world before creating BanManager and RollbackManager ''(ShadowNinja)''
 
* Fixed exception caused by destroying sockets on Server shutdown ''(kwolekr)''
 
  
=== Modding-related changes ===
+
This release is based upon bugfixes from 5.2.0-dev.
  
* Added area parameters back to calc_lighting() and set_lighting() ''(kwolekr)''
+
=== Client / Audiovisuals ===
* Added get_light_data() and set_light_data() to LuaVoxelManip ''(kwolekr)''
+
* Fix player-bound sound playback (''SmallJoker'')
* Added minetest.swap_node ''(Novatux)''
+
* Fix item eat sound not played if last item (''Wuzzy'')
* Assumed a selection box for fences ''(0gb.us)''
 
* Decoration: Added schematic Y-slice probability support ''(kwolekr)''
 
* Added sneak and sneak_glitch in set_physics_override() ''(PilzAdam)''
 
* Used a table in set_physics_override() ''(PilzAdam)''
 
* Added 'on_prejoinplayer' callback ''(kaeza)''
 
* Made line_of_sight return blocking node position ''(stujones11)''
 
* Removed support for optdepends.txt ''(ShadowNinja)''
 
* Added map feature generation notify Lua API ''(kwolekr)''
 
* Added 'minetest.write_json' ''(ShadowNinja)''
 
* Log guilty node name when allow_metadata_inventory_move/put/take fails ''(kahrl)''
 
* Fixed enum element name in Lua HUD code (position vs. pos) ''(kaeza)''
 
  
== 0.4.7 → 0.4.8 ==
+
=== 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'')
  
0.4.8 was released on November 24, 2013.
+
=== Misc / Build ===
 +
* MacOS/BSD: Fix build issue due to conflicting s64 type definitions (''AMDmi3'')
 +
* Fix find_path for newer jsoncpp installations ('''vilhelmgray''')
 +
* Update translations
  
=== New features ===
+
== 5.0.1 → 5.1.0 ==
  
'''Big gameplay changes'''
+
Released on 12 October 2019.
  
* Added drowning ''(PilzAdam, RealBadAngel, BlockMen)''
+
=== Map generator ===
* Added weather support ''(proller)''
+
* Mapgen Carpathian: Add optional rivers (''paramat'')
 +
* Move more dungeon parameter selection to mapgens (''paramat'')
 +
* Dungeons: Make multiple large rooms possible (''paramat'')
  
'''Smaller gameplay tweaks'''
+
=== 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'')
  
* Added new sounds ''(someone who can't decide if he wants to be called mitori or mito551)''
+
=== Builtin (Lua / Media / Documentation) ===
* Don't predict placing and removing nodes if interact privilege is missing ''(PilzAdam)''
+
* 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'')
  
'''Logistic changes'''
+
=== 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'')
  
* Clean up rendering code a bit (increases FPS by 5 to 10) ''(Exio)''
+
=== Script API / Modding ===
* Added support for IPv6 ''(matttpt)''
+
* Add deprecation warnings for ObjectRef:get/set_attribute (''ClobberXD'')
* Don't write player files all the time if they are not modified ''(PilzAdam)''
+
* Nodedef 'drop' documentation: Improve (''paramat'')
* Made the main menu Lua based ''(sapier, kahrl)''
+
* Mark tool filtering in node drop documentation as deprecated (''paramat'')
* Change static ContentFeatures array into a vector ''(rathgit, kahrl)''
+
* Add node field to PlayerHPChangeReason table (''pauloue'')
* Allow multiple singleplayer games at the same time ''(PilzAdam)''
+
* Don't call on_hpchange callbacks if HP hasn't changed (''ClobberXD'')
* Added texture pack selection to main menu ''(Novatux)''
+
* Add disable_jump to liquids and ladders (''SmallJoker'')
* Don't write files directly but rather write to a temporary file that gets renamed after succesfully written; fixes many causes of corrupted files ''(PilzAdam)''
+
* Add support for 9-sliced backgrounds (''rubenwardy'')
* Adjust the Lua API structure and improve header inclusion to decrease compile time ''(kahrl)''
+
* Add compatible, consistent coordinate system to FormSpecs (''v-rob'')
* Database abstraction, LevelDB support ''(sfan5, wieszak, xyz)''
+
* Document ObjectRef:remove under Lua entity (''ClobberXD'')
* Use the Settings Lua interface to read world.mt ''(PilzAdam)''
+
* Docs: Clarify where to check for 'protection_bypass' (''SmallJoker'')
* Use engine.is_yes() in mainmenu ''(PilzAdam)''
+
* Add vector.dot and vector.cross (''HybridDog'')
* Always use builtin JThread library ''(kwolekr)''
+
* Improve documentation of mapgen aliases (''paramat'')
* Optimized minetest.get_connected_players() ''(fairiestoy)''
+
* Remove debug.upvaluejoin to prevent leak of insecure environment (''fluxionary'')
* Removed mapgen_air alias (#935) ''(0gb.us)''
+
* Fix previously crashing minetest.get_craft_result() (''pauloue'')
* Raise the maximum node limit to 0x7fff ''(ShadowNinja)''
+
* Allow toolcaps to override the built-in times for dig_immediate (''sfan5'')
* Shortened lines in falling node code ''(ShadowNinja)''
+
* Formspec styling using style[] (''rubenwardy'')
* Moved the sapling growing and grass adding/removing ABMs to Lua ''(Novatux)''
+
* Customizable chat message format (''ClobberXD'')
* Portability fixes for OpenBSD (and possibly NetBSD and others) ''(Warr1024)''
+
* Velocity modifiers for players (''sfan5'')
* Accept hexadecimal and string values for seeds ''(kwolekr)''
+
* Fix some issues with minetest.clear_craft (''pauloue'')
* Pass a errfunc to <code>lua_pcall</code> to get a traceback ''(ShadowNinja)''
+
* Add function `minetest.read_schematic` (''paly2'')
* Replaced print()s with minetest.log() in builtin ''(PilzAdam)''
+
* Formspecs: formspec_version[] element (''SmallJoker'')
* Updated parameter index of set_lighting() ''(kwolekr)''
+
* Per-player FOV overrides and multipliers (''ClobberXD'')
  
'''Visual changes'''
+
=== 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'')
  
* Added support for bumpmapping ''(RealBadAngel)''
+
=== Minetest Game ===
* Added diagonal liquid animation ''(kahrl)''
+
* Added dry dirt and dry dirt with dry grass. Grass never spreads on dry dirt (''paramat'')
* Damage updates and effects are now sent to other players ''(PilzAdam)''
+
* Savannas now have dry dirt and dry dirt with dry grass (''paramat'')
* Made fog depend on humidity ''(proller)''
+
* Added steel bar door and steel bar trap door
* Added git hash to version string in top left corner of window ''(kahrl)''
+
* Added setting “enable_fence_tall” for fences that cannot be jumped over (''mbartlett21'')
* Added --version option ''(kahrl)''
+
* Firefly in a bottle can now be placed into vessels shelf
* Fixed liquid_range, fixing graphical glitches on old servers ''PilzAdam)''
+
* Add flowing water sound
* Added seed entry to world creation dialog ''(kwolekr)''
+
* 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'')
  
'''Other changes'''
+
== 5.0.0 → 5.0.1 ==
  
* Play <code>player_damage.ogg</code> when recieving damage and <code>player_falling_damage.ogg</code> on falling damage ''(PilzAdam)''
+
5.0.1 was released on March 31, 2019.
* Added basic unicode support to the console in Linux ''(Exio)''
 
* Added a setting for max loop count per step in liquid update ''(PilzAdam)''
 
* Added math mapgen with fractal based worlds ''(proller)''
 
* Disallow the name 'singleplayer' in a multiplayer server ''(PilzAdam)''
 
* Added <code>max_objects_per_block</code> to minetest.conf to control the maximum number of static objects per block ''(Novatux)''
 
* Removed broken farmesh ''(kahrl)''
 
* Added <code>language</code> setting to <code>minetest.conf</code> which forces Minetest to use specified translation ''(xyz)''
 
* Added configurable PRAGMA synchronous = ''(proller)''
 
* Added curl, freetype and luaJIT to CMAKE_BUILD_INFO ''(PilzAdam)''
 
* Lowered the default max_users from 100 to 15 ''(ShadowNinja)''
 
* Removed doc/gpl-2.0.txt, add doc/lgpl-2.1.txt ''(kahrl)''
 
* Masterserver update ''(proller)''
 
* Moved new core devs to the "Core Developpers" section of mainmenu ''(Novatux)''
 
* Added ShadowNinja's email address to the main menu credits ''(ShadowNinja)''
 
* Used a doT.js template for the serverlist ''(ShadowNinja)''
 
* Added default_privs to masterserver and JS autoload ''(proller)''
 
* Added BlockMen to core dev list ''(PilzAdam)''
 
* Added missing RequestQueue doc ''(sapier)''
 
* Prevent enabling Shaders if Direct3D is used ''(PilzAdam)''
 
* Fix my name (doesn't display correctly because of utf8 characters) ''(Novatux)''
 
  
=== Bug fixes ===
+
* 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'')
  
* Fixed <code>print(nil)</code> crashing the server ''(kahrl)''
+
== 0.4.16 → 5.0.0 ==
* Fixed output of profiler (F6) when using freetype ''(kahrl)''
 
* Fixed bug where wrong item is selected when dropping something in the inventory on another stack ''(kahrl)''
 
* Fixed lighting bug caused by disappearing lava ''(PilzAdam)''
 
* Fixed /unban command crashing the server ''(kahrl)''
 
* Fixed lighting bug with 6d facedir ''(RealBadAngel)''
 
* Fixed and improved view range tuner ''(celeron55)''
 
* Fixed and improved anticheat ''(celeron55)''
 
* Fixed server getting completely choked up on even a little of DoS ''(celeron55)''
 
* Fixed crack overlay for animated textures ''(kahrl)''
 
* Added fallback font for Chinese, Japanese and Korean languages, the translations in those languages can now be displayed ''(xyz)''
 
* Fixed most object duplication bugs ''(celeron55)''
 
* Fixed hotbar padding at bottom ''(BlockMen)''
 
* Fixed comments about length of server step ''(ShadowNinja)''
 
* Fixed some warnings and other minor details ''(kwolekr)''
 
* Re-fixed hud_change stat argument retrieval  ''(kwolekr & ShadowNinja)''
 
* Fixed wrong error message on invalid use of the formspec element image_button ''(RealBadAngel)''
 
* Fixed object duplication bug ''(celeron55)''
 
* Made unknown nodes stop falling nodes properly ''(ShadowNinja)''
 
* Fixed ignoring of "diggable" property of nodes ''(0gb.us)''
 
* Fixed invalid use of pointer to temporary object in JSON to Lua conversion ''(sapier)''
 
* Fixed win32/msvc i18n ''(sapier)''
 
* Fixed weather ''(kwolekr)''
 
* Prevented shaders from being created when disabled ''(kwolekr)''
 
* Fixed formspec background padding when clipped ''(BlockMen)''
 
* Fixed array limit check when reading Lua specialtiles table ''(MetaDucky)''
 
* Fixed invalid listname and listsize not handled correctly in set_size ''(sapier)''
 
* Handle blank blocks in database ''(kwolekr)''
 
* Fixed multicaller support in RequestQueue ''(sapier)''
 
* Fixed result of processed request being written to invalid (non-existent) ResultQueue if requesting thread timed out ''(sapier)''
 
* Fixed gettext compile issues under win32 ''(MetaDucky)''
 
* Made mapgen V6 respect water_level setting ''(kwolekr)''
 
* Fixed usage of 'minetest' where 'engine' was intended ''(ShadowNinja)''
 
* Fixed crash when pressing Enter key in formspec menu ''(kahrl)''
 
* Fixed rename modpack button not working, fixes #1019 ''(PilzAdam)''
 
* Don't continue trying to deserialize blank block data ''(kwolekr)''
 
  
=== Modding-related changes ===
+
Released March 4th
  
* Added ingame modstore to download mods from mmdb ''(sapier)''
+
<!-- Last updated 3rd Jan by nerzhul, 6b102ce51f01a381ab6356931689d85528455a50 -->
* Added <code>minetest.register_decoration()</code> ''(kwolekr)''
 
* Added schematic support; new functions <code>minetest.place_schematic()</code> and <code>minetest.create_schematic()</code> ''(kwolekr)''
 
* Seperated formspecs of furnace and chests to provide override by mods ''(BlockMen)''
 
* Added Lua VoxelManip ''(kwolekr)'' http://forum.minetest.net/viewtopic.php?id=6396
 
* Added vector helpers ''(ShadowNinja)''
 
* Added <code>range</code> to item definition ''(PilzAdam)''
 
* Added <code>after_use</code> to item definition ''(Novatux)''
 
* Added <code>liquid_range</code> to node definition ''(PilzAdam)''
 
* Added <code>collide_with_objects</code> to entitiy definition, to disable object <-> object collision ''(PilzAdam)''
 
* Added <code>minetest.facedir_to_dir()</code> and 6d facedir support for <code>minetest.dir_to_facedir()</code> ''(hdastwb)''
 
* Added gettext for <code>image_button</code> ''(BlockMen)''
 
* Added <code>stepheight</code> to entity definition ''(sapier)''
 
* Added support for multiple <code>wherein nodes in <code>minetest.register_ore()</code> ''(PilzAdam)''
 
* Added <code>minetest.register_on_cheat()</code> ''(celeron55)''
 
* Added <code>automatic_face_movement_dir</code> to entity definition ''(sapier)''
 
* Added <code>player:hud_set_hotbar_image()</code> and <code>player:hud_set_hotbar_selected_image()</code> ''(PilzAdam, BlockMen)''
 
* Added percent scaling for HUD images ''(BlockMen, kahrl)''
 
* Added <code>minetest.get_gametime()</code> ''(Novatux)''
 
* Allowed manually specifying param2 in minetest.item_place() and return success ''(PilzAdam)''
 
* Added set_name(), set_count(), set_wear() and set_metadata() to Lua ItemStack ''(PilzAdam)''
 
* Added support for parameter 'visual_scale' for drawtypes 'signlike' and 'torchlike' ''(Sokomine)''
 
* Fixed minetest.facedir_to_dir when param2 is 5 or 7. ''(Novatux)''
 
* Added 'after_use' tool callback ''(Novatux)''
 
* Added settings interface for Lua ''(PilzAdam)''
 
* Moved tree growing and grass growing ABMs to Lua ''(Novatux)''
 
* Added <code>minetest.register_on_craft()</code> and <code>minetest.register_craft_predict()</code> ''(Novatux)''
 
* Added basic protection support to builtin ''(ShadowNinja)''
 
* Added 6d facedir rotation prediction routine ''(VanessaE)''
 
* Added wrapper for minetest.rotate_and_place ''(Evergreen)''
 
  
'''Formspec changes'''
+
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
 +
<!-- WIP notes:
 +
slippery    SmallJoker  bendeutsch
 +
CMakeList improvements  nOOb3167
 +
Find nodes in area (under air): Raise volume limit and document it (''paramat'')
 +
[CSM] Add basic HUD manipulation. (#6067) (''red-001'')
 +
F5 debug info: Add colons, use lowercase except for FPS and RTT (''ThomasMonroe314'')
 +
Auth handler: Player deletion & Iterator (#6741) (''sfan5'')
 +
Generate biomes: Recalculate biome at biome lower limit (''paramat'')
 +
Alternative code for slipping (#6256) (''bendeutsch'')
 +
Translations: prevent remote crash with invalid translations (''Ekdohibs'')
 +
Add LuaEntity on_death callback (#6177) (''nerzhul'')
  
* <code>pwdfield</code>, <code>vertlabel</code>, <code>tabheader</code>, <code>dropdown</code> and <code>checkbox</code> ''(sapier)''
+
Log deprecated Lua function calls (#7491) (''SmallJoker'')
* <code><noclip>;<drawborder>;<pressed texture name></code> options for image_button ''(sapier, BlockMen)''
+
Android: use c++_shared library instead of c++_static MT doesn't launch without that (''nerzhul'')
* <code>textlist</code> and <code>box</code> with color support ''(sapier, sfan5)''
+
-->
* <code>listcolors</code> and <code>bgcolor</code> ''(BlockMen, kahrl)''
 
* <code><auto_clip></code> option for background images ''(BlockMen)''
 
* Added option to scale image to percentage values ''(BlockMen)''
 
* Send a on_receive_fields event when formspec is closed, with fields.quit = "true" ''(Novatux)''
 
* Reworked formspecs ''(BlockMen)''
 
  
== 0.4.6 → 0.4.7 ==
+
=== 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
  
0.4.7 was released on June 6, 2013.
+
=== New Version Scheme ===
  
=== New features ===
+
Basically, the leading 0 has been dropped. The [https://wiki.minetest.net/Version_number version scheme] was thus changed from
  
'''Big gameplay changes'''
+
ZERO.MAJOR.MINOR.PATCH
  
* Added snow, snow block, ice and dirt with snow ''(PilzAdam)''
+
(note: PATCH was left out when it was 0) to
* Added sandstone bricks and desert stone bricks ''(PilzAdam & VanessaE)''
 
* Added coal block, crafted out of 9 coal lumps ''(Zeg9)''
 
* Added flowers to craft dyes; flowers and grass grow now on dirt_with_grass ''(0gb.us, PilzAdam, VanessaE, ironzorg)''
 
* Added farming mod; wheat can be used to bake bread and cotton can be used to craft wool ''(PilzAdam)'' http://forum.minetest.net/viewtopic.php?id=6067
 
  
'''Smaller gameplay tweaks'''
+
MAJOR.MINOR.PATCH
  
* Added a little delay for falling nodes to update so that the objects don't spawn all at once ''(PilzAdam)''
+
.
* Added private messaging with <code>/msg</code> ''(ShadowNinja)''
 
* Added copper block ''(RealBadAngel)''
 
* Swing the camera down when the player lands on the ground; disabled by default; <code>fall_bobbing_amount</code> in minetest.conf ''(Taoki)''
 
* Node placement prediction now accounts for "wallmounted", "facedir" and "attached_node" nodes and only replaces "buildable_to" nodes ''(kahrl, ShadowNinja & PilzAdam)''
 
* Added <code>disable_fire</code> setting to disable fire burning ''(ShadowNinja)''
 
* Added damage to the hand in creative mode ''(PilzAdam)''
 
* Added a little animation when changing the wielded item  ''(PilzAdam & blue42u)''
 
* Apples now fall when the tree decays ''(PilzAdam & BlockMen)''
 
  
'''Logistic changes'''
+
This was chosen for a few reasons:
  
* Added mapgen v7; not usable currently ''(kwolekr)''
+
* Shows that we aim to keep inter-version compatibility (which has mostly been the case since early 0.4.x)
* Added support for LuaJIT, makes mod execution much faster ''(RealBadAngel)''
+
* Allows us to release patch/bug fix only releases without adding a silly 4th number
* Move cave generation to cavegen.cpp and restructure it into a class ''(kwolekr)''
+
* Doesn't imply that this version is the first stable/finished version as much as a 1.0.0 does.
* Added icons to select games in menu; <code>menu/menu_<background/overlay/header/footer>.png</code> of selected game is used in the main menu (TP can use <code><gameid>_menu_<background/overlay/header/footer>.png</code>) ''(celeron55)''
 
* Added <code>--videomodes</code> option to show available video modes ''(kahrl)''
 
* Added ability to play <code>main_menu.ogg</code> (<code>main_menu.<1-9>.ogg</code> are supported too; they are choosen randomly if present) in main menu ''(RealBadAngel)''
 
* Drop common mods system, ''Survival'' and ''Build'' game; minetest_game includes all common mods and the bones mod from ''Survival'' now ''(PilzAdam)'' http://forum.minetest.net/viewtopic.php?id=6034
 
* Changed mod system a bit: All user mods are installed in <code>$path_user/mods/</code> now; they can be enabled per world in the configure world window or in <code>world.mt</code> with <code>load_mod_<modname></code> ''(PilzAdam)'' http://forum.minetest.net/viewtopic.php?id=6066
 
* Split <code>init.lua</code> of the default mod into several files ''(PilzAdam)''
 
* Moved scriptapi to a subfolder ''(sapier, celeron55 & kahrl)''
 
  
'''Visual changes'''
+
For some context, read [https://github.com/minetest/minetest/issues/6073 the issue that resulted in this change].
  
* Changed "unknown block" texture to "unknown node" ''(khonkhortisan)''
+
=== Breaking changes and deprecations ===
* Changed textures of sand, desert sand and desert stone ''(VanessaE)''
+
As a major release, 5.0.0 will break some mods written for 0.4.x versions.
* <code>crosshair.png</code> is used instead of the normal crosshair if present ''(dannydark & Exio4)''
+
We tried to keep the breakages as small as possible whilst fixing long standing issues.
* Added progress bar and clouds to loading screen ''(Zeg9)''
 
* Added new textures for all metal and diamond blocks ''(Zeg9)''
 
* Added new Minetest header ''(BlockMen)''
 
  
'''Other changes'''
+
* 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 <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
 +
* 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]
 +
* ''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)
  
* Added <code>mouse_sensitivity</code> option ''(Exio4)''
+
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
  
=== Bug fixes ===
+
=== Features ===
 +
==== Games ====
 +
* Load a texture pack from the 'textures' subfolder of a game (''red-001'')
  
* Check if the address field is empty when hitting enter on the multiplayer tab ''(ShadowNinja)''
+
==== Map generators ====
* Limit speed in collisionMoveResult for avoiding hangs ''(Exio4)''
+
* Mapgen: Add Carpathian mapgen (''Vaughan Lapsley'')
* Fixed camera "jumping" when attached and the parent goes too fast ''(Zeg9)''
+
* Mapgen flags: Add 'biomes' global mapgen flag (''paramat'')
* Fixed nick completion in chat console with the tab key ''(PilzAdam)''
+
* Dungeons: Add Y limits in all mapgens (''paramat'')
* Do not always move fast in water and ladders when aux1_descend it true ''(Taoki)''
+
* Dungeons: Add setting to prevent projecting dungeons (''paramat'')
* Fixed '''a lot''' memory leaks ''(sapier, PilzAdam, kahrl, kwolekr)''
+
* Biomes: Add vertical biome blend (''paramat'')
* Fixed import of older maps ''(kwolekr)''
+
* Mgv7 floatlands: Add exponent parameter (''paramat'')
* Fixed black trees ''(kwolekr)''
 
* Fixed small objects colliding with themselves ''(sapier)''
 
* Fixed <code>get_craft_recipe()</code> and <code>get_all_craft_recipes()</code> ''(RealBadAngel)''
 
* Fixed spawning too high above ground ''(kwolekr)''
 
* Fixed object -> player collision ''(sapier)''
 
* Fixed favorite server list in globally installed versions of Minetest (RUN_IN_PLACE=0) ''(Zeg9)''
 
* Fixed favorite server list on windows ''(sfan5)''
 
* Fixed handling of mods in games in the configure world GUI ''(kahrl)''
 
* Fixed static data of objects not beeing stored correctly on deactivation ''(sapier)''
 
* Removed ''Meshbuffer ran out of indices'' limitation ''(kahrl)''
 
* Fixed <code>isBlockInSight()</code> for higher FOV ''(Warr1024)''
 
* Don't teleport back when a player is detached or turns free move off and holds shift ''(PilzAdam)''
 
* Fixed bug where you need to move the mouse after closing a menu ''(kahrl)''
 
* Reduced <code>/clearobjects</code> memory consumption; <code>max_clearobjects_extra_loaded_blocks</code> in minetest.conf ''(kahrl)''
 
* Corrected segfault when registering new biomes ''(sweetbomber)''
 
* Reduced video memory consumption by not generating unnecessary <code>[forcesingle</code> textures ''(kahrl)''
 
* Close console when it loses focus but it is still on screen ''(Exio4)''
 
  
=== Modding-related changes ===
+
==== 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'')
  
* Added <code>player:set_physics_override()</code> to set per-player physics ''(Taoki & PilzAdam)''
+
==== Controls ====
* Use <code>node_box</code> for <code>selection_box</code> if <code>drawtype = "nodebox"</code> and <code>selection_box = nil</code> ''(kaeza)''
+
* Automatic jumping (''bendeutsch'')
* Added <code>minetest.env:line_of_sight()</code> and <code>minetest.env:find_path()</code> ''(sapier)''
+
* Add pitch move mode, toggle with <kbd>L</kbd> key
* Added API functions to add elements to the HUD of players ''(blue42u, kwolekr & kaeza)''
+
* Android: Rewritten controls. Add joystick and modify up on-screen buttons (''srifqi'')
* Added option to not prepend "Server -!- " to messages sent with <code>minetest.chat_send_player()</code> ''(ShadowNinja)''
+
* More keys are changable in settings menu
* Added <code>minetest.get_player_ip()</code> ''(ShadowNinja)''
+
* Make direct item selection keys freely bindable via minetest.conf (''Wuzzy'')
* Added <code>use_texture_alpha</code> in node definition to use alpha channel of node texture ''(kwolekr)''
 
* Added <code>glasslike_framed</code> node drawtype ''(RealBadAngel)''
 
* Added optional dependencies and different [[Mod_name_conflicts|mod name conflict handling]] ''(kahrl)''
 
* Use group <code>soil</code> for nodes where saplings can grow on ''(ShadowNinja)''
 
* Nodes with drawtype <code>raillike</code> connect to all other nodes with the same drawtype if they are in the <code>connect_to_raillike</code> group ''(Jeija)''
 
* Env functions are now in the global minetest table; that means they are called via <code>minetest.<function></code> instead of <code>minetest.env:<function></code> ''(sapier, celeron55 & kahrl)''
 
* Added <code>obj:set_hotbar_itemcount()</code> ''(kahrl)''
 
  
== 0.4.5 → 0.4.6 ==
+
==== 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'')
  
0.4.6 was released on April 3, 2013.
+
==== 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'')
  
=== New features ===
+
==== 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'')
  
'''Big gameplay changes'''
+
==== 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'')
  
* Added lavacooling near water; lava source turns into obsidian, flowing lava turns into stone ''(PilzAdam)''
+
==== Technical ====
* Added junglewood (with stairs and slabs), jungleleaves and junglesaplings ''(PilzAdam)''
+
* Add support for authentication in an SQLite database (''bendeutsch'')
* Added obsidian, obsidian shards and obsidian glass ''(PilzAdam & jojoa1997)''
+
* Add an optional readonly base database (''lhofhansl'')
* Added grass (5 different heights) ''(PilzAdam)''
+
* Add crossview support (''otdav33'')
* Added growing for papyrus (on dirt and grass near water) and cactus (on sand) ''(PilzAdam)''
+
* Optionally extend the active object in a players camera direction (''lhofhansl'')
* Added stonebricks crafted from 4 stones ''(PilzAdam)''
+
* Implement ability to set client node dig prediction result (''sofar'')
* Added gold ''(PilzAdam)''
 
* Added diamonds and diamond tools, wich are slightly faster and wear out slower than mese tools ''(PilzAdam)''
 
* Added mese axe, shovel and sword; mese pick is not the ultimate tool anymore ''(PilzAdam)''
 
* Added copper, bronze and bronze tools; bronze can be crafted with copper ingot and steel ingot; bronze tools have same digging times but more uses than steel tools ''(PilzAdam)''
 
  
'''Smaller gameplay tweaks'''
+
==== 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'')
  
* 3 nodes now give 6 slabs instead of 3 ''(PilzAdam)''
+
=== Modding ===
* Wooden stairs and slabs are now flammable ''(PilzAdam)''
+
* Add on_mods_loaded callback (''nerzhul'')
* Lava is not renewable anymore ''(PilzAdam)''
+
* MetaDataRef: Add contains() and get() (''rubenwardy'')
* It is not possible anymore to place non-fuel items in the fuel slot or any item in the output slots of the furnace ''(PilzAdam)''
+
* Allow dumping userdata (''HybridDog'')
* Falling nodes now destroy solid buildable_to nodes ''(Splizard)''
+
* Hint at problematic code when logging deprecated calls (''sfan5'')
* Added ability for buckets to pick up flowing water when liquid_finite is enabled ''(ShadowNinja)''
+
* Add minetest.rgba function that returns ColorString from RGBA or RGB values (''Gael-de-Sailly'')
* Use right click to place liquids with buckets; added description for buckets ''(PilzAdam & ShadowNinja)''
+
* World config: Add modpack descriptions (''HybridDog'')
* Fixed furnace infotext saying "Furnace out of fuel" when placing a fuel but no item to cook into it ''(PilzAdam)''
+
* get_node_drops: Make empty drop return empty table (''tenplus1'')
* Made Mese ores a bit more rare; made Mese blocks very rare ''(PilzAdam)''
+
* Add core.remove_detached_inventory (''SmallJoker'')
* Added object <-> object collision ''(sapier)''
+
* 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'')
  
'''Map generation changes'''
+
==== 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'')
  
* Readded dungeons (disabled by default, enable with "dungeons" flag in "mg_flags" setting) ''(kwolekr)''
+
==== Server-side ====
* Speed up lighting a lot ''(kwolekr)''
+
===== Metadata =====
* Readded jungles (disabled by default, enable with "jungles" flag in "mg_flags" setting) ''(kwolekr)''
+
* Give games the ability to disallow specific mapgens (''Ezhh'')
* Generate apple trees ''(kwolekr)''
+
* Load mod dependencies and description from mod.conf (''rubenwardy'')
* Moved ore generation back to core; improved ore generation speed ''(kwolekr)''
 
* Added <code>singlenode</code> mapgen ''(celeron55)''
 
* Added a new map generator called <code>indev</code> (float islands at 500+, rare HUGE caves, near edges: higher mountains, larger biomes) ''(proller)''
 
  
'''Visual changes'''
+
===== 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'')
  
* Changed textures of cobblestone and mossy cobblestone ''(PilzAdam)''
+
===== 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'')
  
'''Logistic changes'''
+
===== 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'')
  
* Split scriptapi.cpp into more files ''(sapier)''
+
===== Objects/entities =====
* Migrate to STL containers/algorithms ''(xyz)''
+
* ObjectRef: Add add_velocity() (''HybridDog'')
* Added the pseudo game ''common'' with ''bucket'', ''default'', ''stairs'', ''doors'' and ''fire'' mods included; deleted those mods from minetest_game ''(celeron55 & PilzAdam)''
+
* Allow damage for attached objects, add attach/detach callbacks (''SmallJoker'')
* Added a checkbox for finite liquids to settings menu ''(proller)''
+
* 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
  
'''Other changes'''
+
===== 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'')
  
* Use moving clouds as background for the main menu ''(Krisi & ShadowNinja)''
+
===== Mapgen =====
* minetest.env:find_nodes_near() optimized to be 11.65x faster, ServerEnvironment step CPU consumption cut in half ''(kwolekr)''
+
* 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'')
  
=== Bug fixes ===
+
===== 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'')
  
* Fixed build with ogles2 driver ''(proller)''
+
===== Chat =====
* Fixed new_style_water (shaders are not used for this anymore) ''(PilzAdam)''
+
* Make the server status message customizable (''SmallJoker'')
* Fixed backface_culling in tiledef; both sides of flowing liquids are now visible ''(doserj)''
+
* Allow the join/leave message to be overridden by mods. (''red-001'')
* Hopefully fix node replacement bug (where the node that is pointed at is replaced) ''(0gb.us)''
 
  
=== Modding-related changes ===
+
===== Protection =====
 +
* is_area_protected: Rename from intersects_protection (''SmallJoker'')
 +
* Intersects_protection(): Move from Minetest Game to builtin (''paramat'')
  
* Added <code>minetest.get_all_craft_recipes(output)</code> ''(RealBadAngel)''
+
===== Graphics and sounds =====
* Allow any character in formspec strings with escape characters ''(kwolekr)''
+
* Real global textures (''numberZero'')
* Added ability to pass multiple parameters to <code>minetest.after()</code> ''(Jeija)''
+
* Clouds API: change speed from 'y' to 'z', ColorSpecs in Lua docs (''bendeutsch'')
* Added <code>player:set_look_yaw()</code> and <code>player:set_look_pitch()</code> ''(RealBadAngel)''
+
* In-cloud fog: Strengthen effect when small view range is used (''lhofhansl'')
* Added ability to load mods from the pseudo game ''common'' via <code>common_mods</code> in game.conf ''(celeron55)''
+
* Sound: Add pitch option (''Rui-Minetest'')
* Added support for a minetest.conf file in games, wich override the default values ''(celeron55)''
 
* Added 6d facedir to rotate nodes with ''facedir'' drawtype ''(RealBadAngel)''
 
* Added function and wrapper to predict and assign 6d rotation via <code>minetest.rotate_and_place()</code> ''(VanessaE and EvergreenTree)''
 
* Added <code>minetest.add_particle()</code>, <code>minetest.add_particlespawner()</code> and <code>minetest.delete_particlespawner()</code> ''(Jeija)''
 
* Added <code>minetest.register_ore()</code> to let the engine generate the ores; <code>default.generate_ore()</code> is now deprecated  ''(kwolekr)''
 
* New damage system added as described here: [[Damage_system]] ''(PilzAdam & celeron55)''
 
* Added <code>place</code> field to sound table of tools ''(PilzAdam)''
 
  
== 0.4.4 → 0.4.5 ==
+
===== 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'')
  
0.4.5 was released on March 4, 2013.
+
==== 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'')
  
=== New features ===
+
=== 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.
  
'''Big gameplay changes'''
+
==== 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'')
  
* Added Mese crystals and Mese crystal fragments (crafted from 1 Mese crystal); Mese blocks can be crafted with 9 Mese crystals; Mese pickaxes are now crafted using Mese crystals; old Mese equals the new Mese block and is still generated at altitudes -1024 and below ''(VanessaE & PilzAdam)''
+
==== Build ====
* Doors must now be right clicked to be opened ''(PilzAdam)''
+
* Fix many Android build issues (''nerzhul'')
* Flying through walls now requires the "noclip" privilege and noclip mode must be enabled by pressing H ''(PilzAdam)''
+
* Fix i386 bit build at OpenBSD (''mazocomp'')
* Added a list of servers to the "Multiplayer" tab of the main menu ''(Jeija)''
+
* Fix compile error in OpenBSD (''jcalve'')
* Added a mod selection menu ''(doserj)''
+
* Fix MSVC compiling annoyances (''adrido'')
* Jungle grass now spawns naturally again ''(PilzAdam)''
+
* directiontables: Fix MSVC compiler error (''adrido'')
* Added finite liquid support, experimental and disabled by default ''(proller)''
+
* 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'')
  
'''Smaller gameplay tweaks'''
+
==== 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'')
  
* Locked chest contents are now only shown to their owner ''(PilzAdam)''
+
==== Rendering ====
* Added ability to write several lines on a sign ''(PilzAdam)''
+
* Fix liquid bottoms not being rendered (''numberZero'')
* When sneaking, the current node/item will always be used when right clicking even if pointing a chest or a furnace ''(Jeija)''
+
* Fix liquid post effect colour behaviour in third person view (''red-001'')
* In creative mode, hand now breaks everything nearly instantly and nodes/items are infinite ''(PilzAdam)''
+
* Fix dark liquids (''numberZero'')
* Player physics are now tweakable by server admin ''(Taoki)''
+
* Use crack animation on all tile layers (''juhdanad'')
* Fast mode can now be used in liquids and in climbable nodes ''(kwolekr)''
+
* Smoothed yaw rotation for objects (''SmallJoker'')
* Fire is now "buildable to" ''(Casimir)''
+
* Disable shaders GUI on unsupported drivers (''numberZero'')
* To fly at "fast" speed, the "use" key must now be held if using shift to descend ''(PilzAdam)''
+
* Fix missing ignore textures (''HybridDog'')
* Added upside down stairs and slabs ''(PilzAdam)''
+
* Make sure color returns to normal after a damage flash (''lhofhansl'')
* Added ability to switch to fly_mode when double-tapping space bar, disabled by default; can be enabled in the key change menu ''(PilzAdam)''
+
* Camera: Improve subpixel movement (''SmallJoker'')
* Tweaked damage and punch times of weapons, tools and hand ''(Calinou)''
+
* Camera: Fix wieldmesh glitch after teleporting (''kilbith'')
* Added repeated right clicking when holding the right mouse button, see "repeat_rightclick_time" setting in minetest.conf ''(Jeija)''
+
* 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'')
  
'''Map generation changes'''
+
==== 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'')
  
* Added L-system tree generation ''(RealBadAngel & dannydark)''
+
==== Formspecs ====
* Map generation is now slightly faster and can be tweaked in minetest.conf ''(kwolekr)''
+
* Mitigate formspec exploits by verifying that the formspec was shown to the user by the server. (''red-001'')
* Added optional flat map generation, with and without trees ''(kwolekr)''
+
* 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'')
  
'''Visual changes'''
+
==== 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'')
  
* Mese pickaxe now has a new texture, which is more yellow ''(Jordach)''
+
==== Networking ====
* Tweaked dirt texture so that it tiles better; improved lump and ingot textures; added fake shading to the default player texture ''(Iqualfragile & GloopMaster & Jordach)''
+
* Use server's zoom fov for distant world loading. (''lhofhansl'')
* Added particles when digging blocks ''(Jeija & PilzAdam)''
+
* Fix ipv6_server=true not accepting IPv4 connections on Windows (''sfan5'')
* The selection box of stairs now fits the stairs ''(PilzAdam)''
+
* Fix narrow/utf8 difference in incoming/outcoming messages (''numberZero'')
* If damage is disabled, damage screen is disabled and health is not shown on the HUD ''(PilzAdam)''
+
* Fix day_night_ratio_do_override not being initialised server-side (''rubenwardy'')
* Damage screen is now red fade instead of constant red; camera now tilts when receiving damage ''(Jeija & PilzAdam)''
+
* Fix attached particle spawners far from spawn (''raymoo'')
* Added "selectionbox_color", "crosshair_color" and "crosshair_alpha" minetest.conf settings for changing selection outline color, crosshair color and crosshair opacity respectively ''(Exio4)''
+
* 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'')
  
'''Logistic changes'''
+
==== 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'')
  
* Minetest-c55 is now named Minetest
+
==== World ====
* Less stuff is now put in debug.txt by default, change with debug_log_level, default is 2
+
* Fix blocks written by VManip not being marked as modified (''sfan5'')
* Texture atlas is now disabled by default ''(kwolekr)''
+
* Set range of blocks to retrieve per roundtrip to 2. (''lhofhansl'')
* Added and updated language translations; French, German, Portuguese, Polish and Spanish translations are 100% complete ''(Calinou, kaeza, PilzAdam, sfan5, xyz, kotolegokot, pandaro, Mito551, Shen Zheyu, sub reptice, elagin, KikaRz and socramazibi)''
+
* Retrieve a small cone of blocks in the direction of the players velocity. (''lhofhansl'')
* Added support for downloading media from a server using cURL which is faster, disabled by default ''(Ilya Zhuravlev)''
 
  
=== Bug fixes ===
+
==== 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'')
  
* Walking on stairs, slabs and glass now makes sounds ''(PilzAdam & dannydark)''
+
==== Items and nodes ====
* Fixed and cleaned EmergeThread around a bit ''(kwolekr)''
+
* Pointed thing to face pos: Use 'eye height' object property (''paramat'')
* Punching entities and players with shovels and pickaxes now deals damage ''(Calinou)''
+
* Ensure no item stack is being held before crafting (''Luis Cáceres'')
* Fixed some caves having too many dead ends ''(unknown)''
+
* core.rotate_node: Run callbacks like with any regular placed node (''SmallJoker'')
* Fixed the looks of some plantlike nodes by using two long planes instead of four shorter planes ''(doserj)''
+
* Don't try to craft a non-existent item (''Esteban'')
* Grass no longer turns into dirt below unloaded blocks ''(PilzAdam)''
+
* Fix rotated node placement (''tenplus1'')
* Fixed a crash when clicking "Configure" when no world is selected in Singleplayer menu ''(doserj)''
+
* Item drop: Tune to land exactly 2 nodes away with level view (''paramat'')
* Fixed dropped item collision with nodeboxes ''(jordan4ibanez)''
+
* Check item_drop amount clientside (''rubenwardy'')
* Fixed a glitch where the player gets liquids in his inventory when a server lags ''(PilzAdam)''
+
* 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'')
  
=== Modding-related changes ===
+
==== 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'')
  
* Added ability to change the itemstack in placenode callbacks ''(PilzAdam)''
+
==== Players ====
* Added ability to create multi-line textfields in formspecs ''(Jeija)''
+
* Make player liquid speed independent of FPS (''paramat'')
* Add on_rightclick(pos, node, clicker) callback for nodes ''(PilzAdam)''
+
* Run detach callbacks on player leave (''SmallJoker'')
* Added minetest.show_fromspec(playername, formspec) to show formspecs via Lua ''(sapier)''
+
* 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'')
  
== 0.4.3 → 0.4.4 ==
+
==== 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'')
  
0.4.4 was released on December 6, 2012. 0.4.4-d1 (an interim release made due to a protocol change) was released on January 2, 2013.
+
==== 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'')
  
=== New features ===
+
==== 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'')
  
* Added animated 3D player and a new default skin, the default model also supports Minecraft skins ''(Taoki, skin by Jordach)''
+
==== Misc. ====
* Added shaders support (can be disabled in Settings menu), makes water a bit smaller than a full block, makes lighting look prettier ''(kahrl and celeron55)''
+
* Fix for translating empty strings (''minduser00'')
* New default doors mod: doors have a 3D look, ability to create "double doors" added, added locked steel doors (only the owner of the door can open/close it) ''(PilzAdam)''
+
* Positional sound: Limit volume when closer than 1 node (''paramat'')
* Improve map generation speed a lot ''(hmmmm)''
+
* Change the server description after a search (''Dumbledor'')
* Day-night transitions are now smoother ''(celeron55)''
+
* Fix no sound bug (''Rui-Minetest'')
* Water textures are now animated ''(RealBadAngel (textures) and PilzAdam)''
 
* Added on-demand item previews (reduces load time/RAM usage), disabled by default ''(celeron55)''
 
* Added 3D anaglyph support (red-cyan glasses) ''(xyz)''
 
* Fire is now animated and causes damage to players ''(PilzAdam, Muadtralk (textures))''
 
* Tweaked some textures: apple, nyan cat, bricks, papyrus, steel sword ''(Calinou, VanessaE)''
 
* Tweaked digging animation (no more mining with the tip of your pickaxe!) ''(jordan4ibanez)''
 
* Changed apple, sapling and papyrus selection box size to be smaller ''(VanessaE)''
 
* Players who do not move no longer send their positions to save bandwidth ''(Taoki)''
 
* Make steel block and brick drop themselves when dug and make them craftable back into their materials ''(PilzAdam)''
 
* Glass now makes a sound when broken ''(PilzAdam)''
 
* Dead players are now visible ''(Taoki)''
 
* Changed default server tick to 0.1 second, decreasing server CPU usage ''(celeron55)''
 
* Clients now send their position every 0.1 second too, making other player movement look smoother ''(celeron55)''
 
* Use of /grant and /revoke commands is now logged ''(dannydark)''
 
* Added ability for server to tweak amount of bandwidth used to upload mods to clients ''(celeron55)''
 
  
=== Bug fixes ===
+
=== Other / Misc ===
  
* Fixed falling sand and gravel sometimes incorrectly landing ''(PilzAdam)''
+
* Version scheme change: 0.5.0 -> 5.0.0 (''nerzhul'')
* Fixed empty bucket being named "emtpy bucket" (khonkhortisan and PilzAdam)
+
* Move ASCII art to std::cerr, to remove it from logs (''rubenwardy'')
* Fixed slab to full block transformation ''(PilzAdam)''
+
* PlayerSettings struct for player movement code (''bendeutsch'')
* Fixed smooth lighting between MapBlocks ''(celeron55)''
+
* Client eventmanager refactor (''nerzhul'')
* Prevent some blocks (leaves, falling sand and gravel) from giving air when dug when they disappear as you mine them ''(PilzAdam)''
+
* Update mesh collector and move it to a separate file (''numberZero'')
* Fixed papyruses and cacti growing inside trees ''(PilzAdam)''
+
* Add Voxelarea unittests (''nerzhul'')
* Fixed flowing liquid animation direction calculation ''(celeron55)''
+
* VoxelArea: add_{x,y,z,p} must be static (''nerzhul'')
* Fixed wielditem entity drawtype brightness control ''(celeron55)''
+
* Cleanup in flat lighting (''numberZero'')
* Fixed ObjectRef:punch() ''(celeron55)''
+
* Node definition manager refactor (''juhdanad'')
* Fixed a rare bug in leaf decay ''(PilzAdam)''
+
* Move 'setlocale' from Lua to C++. (''red-001'')
* Fixed trees growing into any type of node ''(xyz)''
+
* Rewrite rendering engine (''numberZero'')
* Fixed server crashing when "/clearpassword" is typed without an argument ''(Uberi)''
+
* Improve the path select GUI (''red-001'')
* Head no longer shifts downwards when you are inside transparent blocks such as glass or nodeboxes ''(Calinou)''
 
* Directories beginning with a "." are now ignored when searching for mods on Windows ''(matttpt)''
 
* Fixed the automagic render distance tuner ''(celeron55)''
 
  
=== Modding-related changes ===
+
== Older versions (pre-5.0.0) ==
 +
If you want to see older versions (older than 5.0.0), please go to [[OldChangelog|this page]].
  
* Added 3D model support for entities ''(Taoki)''
+
[[Category:Root-Category]]
* Added attachment support (so that entities can "ride" other entities) ''(Taoki)''
+
[[Category:Compiling Luanti]]
* Backgrounds and images can now be used in formspecs ''(RealBadAngel)''
 
* Liquids can now be made non-renewable ''(xyz)''
 
* Added nodedef.on_blast() to lua_api.txt in order to support chained explosions of any explosives ''(celeron55)''
 
* Allow transparent image buttons ''(khonkhortisan)''
 
* Added shutdown hook interface to Lua API ''(matttpt)''
 
* Added "attached_node" group to make nodes which are not attached to any other walkable node drop ''(PilzAdam)''
 

Latest revision as of 18:26, 11 November 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.9.1 → 5.10.0

Released on 10 November 2024.

Deprecations and compatibility notes

  • Minetest is now called Luanti.
    • The game executable name has changed, thus custom links and scripts might need maintenance.
    • Any minetest.conf files remain compatible (naming yet not changed).
    • For Unix: $HOME/.minetest/ remains used for system-wide installations (naming yet not changed).
    • Mods may use the core table instead of the equivalent minetest. (see lua_api.md)
  • OpenGL ES 1.0 (ancient) is no longer supported. OpenGL ES 2.0 will be used instead.
  • (basic) shaders will eventually become a requirement. A warning is shown if they are disabled.

Client / Audiovisuals

  • Added a workaround to fix shader errors on buggy Intel iGPU drivers on Windows 8.1 and older (sfan5)
  • Fixed Post Processing with the ogles2 driver (grorp)
  • The main menu server filter / search box now filters more intuitively (appgurueu)
  • Touch controls are now enabled/disabled based on the used input device (grorp)
  • Main menu: redesigned ContentDB tab (rubenwardy)
  • Improved texture pack compatibility when using the [mask modifier (SmallJoker)
  • More fancy shaders (GefullteTaubenbrust2)
    • Server-controlled bloom shader API (grorp)
    • Follow-up fixes (various contributors)
  • Fixed sound mute on macOS (sfence)
  • Improved formspec scaling (grorp)
  • The minimap is again scaled proportional to the screen size (grorp)
  • Improved distinction of touch-related settings (grorp)
    • UI scaling settings and touch input are no longer tightly tied together (okias)
  • Transparency sorting now works more reliably (Desour)
    • Can be disabled entirely with transparency_sorting_distance = 0
  • Setting for debugging purposes: show_block_bounds_radius_near (Desour)
  • Windows touch controls are no longer enabled because they exist
  • Setting smooth_scrolling to disable smooth scrolling (grorp)
  • Touchscreens/Android: Button bar replaced with a grid menu for easier access (grorp)
  • (IME candidate list in Windows (y5nw)) - inactive: requires a USE_SDL=1 build.

World / Server / Environment

  • More fine-grained control over anticheat by settings (zmv7)
  • "Access denied" strings may now be translated (Emojigit)
  • Setting server_announce_send_players to hide the player names from the public server list (Emojigit)

Script API / Modding

  • Gettext and plural support for client-side translations (Ekdohibs. y5nw)
  • Option to calculate the scroll container size automatically (SmallJoker)
  • Player controls API now supports joystick inputs (x/y) (grorp)
  • 6 textures support for drawtype = "allfaces*" nodes (DragonWrangler1)
  • ABM without_neighbors field (sfence)
  • Death formspec can now be customized (grorp)
  • Bulk LBM support (sfan5)
  • Players can now be requested to rejoin on kick (by mods) (Emojigit)
  • Static glTF models and animated models are now supported (JosiahWI, appgurueu')
  • The hotbar is now mod-customizable (cx384)
  • core.get_server_status and core.privs_to_string are now sorted (zmv7)
  • Overridable HP and breath logic, see ObjectRef:get_flags (sfence)
  • Fix animations not being restartable (requires up-to-date client and server) (appgurueu)
  • core.close_formspec (and equivalent) no longer throw incorrect deprecation warnings (appgurueu)
  • Object observers API (appgurueu)
    • This allows mods to selectively show entities to certain players.
  • New functions:
    • core.ipc_(cas|poll) for async communication (sfan5)
    • core.bulk_swap_node (ryvnf)
    • core.colorspec_to_table, core.time_to_day_night_ratio (grorp)
    • vector utils (ceil, sign, abs, random_in_area) (kromka-chleba)
    • core.is_valid_player_name (appgurueu)
    • vector.random_direction (kno10)
    • table.keyof (Emojigit)
  • Fixes related to ObjectRef lifecycles and crashes caused by attachments (sfan5)
  • Various script API documentation improvements (Zughy, nauta-turbidus, appgurueu)

Misc / Maintenance

  • Lots of renaming work (grorp, appgurueu, Wuzzy)
  • Server + client build targets will now build faster (sfan5)
  • Tracy profiler support (Desour)
  • Many cleanups and performance improvements (sfan5)
  • Network improvements (sfan5, red-001)
  • Compiling/build improvements and fixes (nerzhul, AMDmi3, Zughy, sfan5, SmallJoker)
  • devtest game improvements (appgurueu, Desour)
  • Various crash/sanity fixes

5.9.0 → 5.9.1

Released on 15 September 2024.

Highlights

  • Many bugfixes :)

Client / Audiovisuals

  • Reverted rendering optimizations that caused anomalies with certain hardware (grorp)
  • Main menu: Mapgen flags starting with "no*" are no longer shown (duplicate) (appgurueu)
  • Android: Fixed input issues (grorp)
  • Android: The minimap can again be proportional to the screen size (requires an up-to-date server) (grorp)
  • Sneak-sumping onto a stack of 2 nodes is again possible (SmallJoker)
  • Clouds no longer disappear when approaching them (sfan5)
  • The CSM help dialogue now uses "." instead of "/" (zmv7)
  • Windows: disabled touchscreen autodetection due to lack of support of the non-SDL build (default for 5.9.x) (rubenwardy)

World / Server / Environment

  • Network improvements for slow connections (sfan5)

Script API / Modding

  • yawsprite entities now work on OpenGL ES 2 (Android) (sfan5)
  • Fixed animation not playing back on upright sprite entities on most systems (appgurueu)
  • Bone overrides again return the same angles that were specified by mods to ease motion interpolation (appgurueu)
  • Fixed animations not being restartable appgurueu)
  • minetest.show_formspec with an empty formspec name is no longer marked as deprecated (appgurueu)

Misc / Maintenance

  • macOS 12 support (sfence)
  • Various fixes
  • Build fixes (AMDmi3)
  • Windows: removed symlink that caused issues while extracting the game archive (sfan5)

5.8.0 → 5.9.0

Released 2024-08-11

Highlights

  • Rendering performance improvements (paradust7, sfan5 & x2048)
  • Added godrays shader (x2048)
  • New multithreaded Lua mapgen API to improve performance of custom mapgens. (sfan5)
  • Android: Punch with short tap (grorp)
  • Work in the background on switching to SDL2 for windowing and input (but not enabled in this release)

Deprecations and compatibility notes

  • "mod_translation_updater.py" is now located at https://github.com/minetest/modtools (Zughy)
  • The setting "opaque_water" is now called "translucent_liquids". (Xeno333)
  • Disabling fog and camera updates now requires the "debug" privilege (sfan5)
  • Since 5.9.0-dev, the Minetest repository now includes IrrlichtMt. The minetest/irrlicht repository is no longer a dependecy of newer releases.
  • nodebox and mesh nodes now require use_texture_alpha to render with transparency (sfan5)
  • In the HUD elements defintion, hud_elem_type was renamed to type (cx384)
  • Trusted mod directories are now readonly. Writing to any mod directory is now deprecated (rubenwardy)

Work on SDL2

As part of Minetest's efforts to modernise and improve graphics code, we've been working on switching to SDL2 for windowing and input. This will allow all platforms to support touch screen, keyboard+mouse, and gamepads. Due to remaining issues, Minetest 5.9.0 does not use SDL2 yet. But the ground work is there to support it in the future

Note: none of the following is available in 5.9.0 as SDL2 is disabled

  • Improved cross-platform touchscreen support. You can now use touchscreen controls on desktop without a special build. (grorp, okias)
  • F11 to toggle fullscreen
  • Support for hidef displays

Client / Audiovisuals

  • New setting contentdb_enable_updates_indicator to disable ContentDB requests (rubenwardy)
  • Make main menu more responsive by using async HTTP calls everywhere (grorp)
  • Formspecs are now closed by a single tap/click outside (grorp)
  • Smooth scrolling (grorp)
  • Add repeat_dig_time setting (ryvnf)
  • Add support for translating content titles and descriptions (rubenwardy)
  • Rendering performance improvements (paradust7, sfan5 & x2048)
  • Add help formspec for CSM commands (Zemtzov7)
  • Android: Fix app name in the notifications (srifqi)
  • Android: Add selection dialog (drop down/combo box) (srifqi)
  • Remove controls listed in the pause menu (not suited for touch inputs) (Zughy)
  • Remove server's address and port from pause menu (srifqi)
  • Fix semi-transparent appearance of objects (players/entities) when shaders are disabled (SmallJoker)
  • Allow mods to swap the meaning of short and long taps (punch with short tap) (grorp)
  • Recognize double-taps as double-clicks (grorp)
  • Make the loading screen progress bar respect "gui_scaling" (grorp)
  • Initial implementation of 'Godrays' shader (x2048)
    • Make volumetric light effect strength server controllable (lhofhansl)
  • Android: Pause rendering while the app is paused (efficiency) (grorp)
  • Add dithering, enabled by default, setting debanding (HybridDog)
  • sound_volume_unfocused for custom sound volume on focus loss (srifqi')

World / Server / Environment

  • Minimap textures can now be overwritten by the server (cx384)
  • Add flag to control mgv6 temple generation (sfan5)
  • Android: safer and more reliable setting saving (grorp)
  • Fix multiple password changes in one session (savilli)
  • More performant improvement object (player/entity) management (sfan5)
  • Mapblock loading / view range fixes (lhofhansl)
  • Setting protocol_version_min (Warr1024)
  • Inventory changes
    • Usability fixes (sfence)
    • Reordering of inventory callbacks (SmallJoker)
    • Prevent item loss when stacking oversized ItemStacks (SmallJoker)
  • Avoid movement jitter while attached (lhofhansl)
  • Fixed improper liquid flow (ZenonSeth)

Script API / Modding

  • core.override_item additional parameter for fields to remove (appgurueu)
  • Collision moveresult now provide the object's own position (grorp)
  • Add physics overrides for walk speed and Fast Mode (grorp)
  • Allow nil puncher in ObjectRef:punch(..)` (sfence)
  • HUD: Text element color support (SmallJoker)
  • Allow optional actor in core.(place|dig|punch)_node (Emojigit)
  • Add button_url[] and hypertext element to allow mods to open web pages (rubenwardy)
  • Add world-independent storage directory for mods (rubenwardy)
  • ItemMetaData-controlled pointing range (cx384)
  • Add L-system trees as decorations (cx384)
  • Expose SHA256 algorithm to Lua (sfan5)
  • Multi-threaded Lua for mapgen (sfan5)
    • This is a set of new API functions
  • Allow dynamic_add_media at mod load time (sfan5)
  • Move hard coded minimap to Lua (builtin) (cx384)
  • Tool items: Add wear bar color API (techno-sam)
  • Improved [combine parameter checks (sfan5)
  • Fog API
    • Fix fog moon tint not working (appgurueu)
    • Allow fog color to be overriden in all cases (sfan5)
  • Fix revoke callbacks being run for false values passed to set_privileges (appgurueu)
  • Implement pointabilities API to selectively point or block the raycast of tool items (cx384, lhofhansl)
    • + Lua raycast support (grorp)
  • Add rotation support for wallmounted nodes in 'ceiling' or 'floor' mode (Wuzzy)
  • Add API for restoring PseudoRandom (discouraged) and PcgRandom (recommended) state (sfence)
  • Add player:hud_get_all() (cx384)
  • Fix dividing by zero crashes in texture modifiers (cx384, SmallJoker)
  • More modder-friendly output of the Lua profiler (fluxionary)
  • Add ObjectRef:add_pos(..) (sfence)
  • Rename hud_elem_type to type (cx384)
  • Fix on_(grant|revoke) not being run by mods (appgurueu)
  • Extend bone override capabilities (ObjectRef:set_bone_override) (appgurueu)
  • Add touch_controls to core.get_player_window_information() (grorp)
  • Persistent formspecs (re-sent on close) can no longer be closed (SmallJoker)

Misc / Maintenance

  • Many different documenation improvements
  • Mod translation script improvements (srifqi, sfan5)
  • Rename `MINETEST_SUBGAME_PATH` to `MINETEST_GAME_PATH` (cx384)
  • Updates of the bundled libraries and Lua fixes (via sfan5)
  • Support OpenGL 3 (numberZero)
  • Network code maintenance (sfan5)
  • Build system maintenance (sfan5, siboehm)
  • Unittest and benchmark improvements (sfan5, numberZero)
  • Other code maintenance and improvements (sfan5)
  • Update to Android SDK 34 (rubenwardy)

Minetest Game

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.