Difference between revisions of "Changelog"

From Minetest Developer Wiki
Jump to navigation Jump to search
(Item eat callback)
Line 2: Line 2:
 
=== New Features===
 
=== New Features===
  
'''Big gameplay changes'''
+
'''<!--Big -->Gameplay Changes'''
* Third person view ''(BlockMen)''
 
 
 
'''Smaller gameplay tweaks'''
 
 
* Made pause menu actually pause singleplayer game and use lower maximum FPS in it ''(celeron55)''
 
* Made pause menu actually pause singleplayer game and use lower maximum FPS in it ''(celeron55)''
 
* Prevented placing node when player would be inside new node ''(BlockMen)''
 
* Prevented placing node when player would be inside new node ''(BlockMen)''
 +
* Removed liquid_finite and weather ''(proller)''
 +
 +
<!--'''Smaller Gameplay Tweaks'''-->
  
'''Logistic changes'''
+
'''Logistic Changes'''
 
* Made build prefer pkg-config for freetype2 detection ''(hasufell)''
 
* Made build prefer pkg-config for freetype2 detection ''(hasufell)''
 
* Added function to deregister a profiler from profiler list ''(sapier)''
 
* Added function to deregister a profiler from profiler list ''(sapier)''
Line 20: Line 20:
 
* Deindented HTTPFetchRequest::HTTPFetchRequest() ''(ShadowNinja)''
 
* Deindented HTTPFetchRequest::HTTPFetchRequest() ''(ShadowNinja)''
 
* Include system info in the HTTP user agent on Windows ''(sfan5)''
 
* Include system info in the HTTP user agent on Windows ''(sfan5)''
* Add redis database backend ''(sfan5)''
+
* Added proper client initialization ''(sapier)''
 +
* Settings: Add no-exception variants of each get method ''(kwolekr)''
 +
* Huge overhaul of the entire MapgenParams system ''(kwolekr)''
 +
* ServerEnvironment: Remove direct dependency on EmergeManager ''(kwolekr)''
 +
* Accept any error response code for missing index.mth ''(kahrl)''
 +
* Replace pause, message, and death menus by formspec ones ''(sapier)''
 +
* Removed goto from Environment::removePlayer ''(Selat)''
 +
* Pass arguments by reference ''(Selat)''
 +
* Replace usage of long long with u64/s64 ''(ShadowNinja)''
 +
* Made serializeStructToString use an ostringstream ''(ShadowNinja)''
 +
* Removed lua_State parameter from LuaError::LuaError ''(ShadowNinja)''
 +
* 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)''
 +
* Reorderd initialization of member variables to make GCC happy ''(ShadowNinja)''
 +
* 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)''
 +
* Use "core" namespace internally ''(ShadowNinja)''
 +
* Mapped Irrlicht log level to minetest 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)''
 +
* Removed unused settings ''(sapier)''
 +
* Rework dumping functions ''(ShadowNinja)''
  
'''Visual changes'''
+
'''Visual Changes'''
 
* Added waypoint HUD element ''(RealBadAngel)''
 
* Added waypoint HUD element ''(RealBadAngel)''
 +
* Added on-the-fly normal map generation ''(RealBadAngel)''
 +
* Added third person view ''(BlockMen)''
 +
* Made sun and moon textureable ''(RealBadAngel)''
 +
* Made formspec text-area word-wrap ''(RealBadAngel)''
 +
* Added support for DPI based HUD scaling ''(sapier)''
 +
* Made debug text adjust it's border to the screensize ''(ShadowNinja)''
 +
* Added download rate to non-HTTP media progress bar ''(sapier)''
 +
* Added support for interlaced-polarized, top-bottom, and side-by-side 3D screens
 +
* Hide pause menu before drawing "Shutting down..." message ''(sapier)''
 +
* Sorted commands and privs alphabetically in '/help' ''(kaeza)''
  
<!--'''Other things'''-->
+
'''Other Things'''
 +
* Removed noisy error messages, and prepend "pathfinder: " to pathfinder messages ''(sapier)''
 +
* Added the option to bind to a specific address ''(ShadowNinja)''
 +
* Removed lots of dead code ''(sapier)''
 +
* Made flag strings clear specified flag with 'no' prefix ''(kwolekr)''
 +
* Added check to avoid usage of broken LuaJIT < 2.0.0-beta-8 ''(sapier)''
 +
* Lots of new and updated translations ''(many contributors)''
 +
* Improved win32 file version information ''(sapier)''
 +
* Documented CMake options in README ''(sfan5)''
 +
* Correct misleading detached inventory error message ''(CiaranG)''
 +
* Added more informative error messages for inventory and item method errors ''(ShadowNinja)''
 +
* Added redis database backend ''(sfan5)''
 +
* Updated documentation on is_ground_content ''(ShadowNinja)''
 +
* Moved the old stuff to doc ''(BlockMen)''
 +
* Only push the Lua error handler once ''(ShadowNinja)''
 +
* Removed dependency on marshal and many other async changes ''(ShadowNinja)''
 +
* Added joining player to printed player list ''(sapier)''
 +
* Made item entity stacks merge on the ground and add TTL to item entities ''(RealBadAngel)''
  
 
=== Bug Fixes ===
 
=== Bug Fixes ===
Line 51: Line 102:
 
* Fixed use of previously deallocated EmergeManager ''(kwolekr)''
 
* Fixed use of previously deallocated EmergeManager ''(kwolekr)''
 
* Fixed only half of unreliable queue being handled per step in worst case ''(sapier)''
 
* Fixed only half of unreliable queue being handled per step in worst case ''(sapier)''
 +
* Fixed broadcasting private messages in error conditions ''(sapier)''
 +
* Fixed player textures by adding '-' to list of allowed characters in media filenames ''(sapier)''
 +
* Fixed texture pack names corrupting mainmenu ''(ShadowNinja)''
 +
* Fixed crash when a error occurred in a globalstep callback ''(ShadowNinja)''
 +
* Fixed unexpected preprocessor directive in gettext.cpp ''(xyz)''
 +
* Fixed a heap-use-after-free in pause menu ''(xyz)''
 +
* Added checks for invalid user input for important settings ''(kwolekr)''
 +
* Fixed memory leak in database migration ''(Selat)''
 +
* Fixed invalid check for fread error on extracting zip ''(sapier)''
 +
* Fixed null string escape in server list ''(proller)''
 +
* Fixed a unloaded but active block problem ''(CiaranG)''
 +
* Fixed rendering glitches when far from the center of the map ''(Novatux)''
 +
* Improved performance of ABMs by only calcuation object counts once ''(CiaranG)''
 +
* Fixed race condition on exit to menu ''(sapier)''
 +
* Fixed generating winresource.o with build dir != source dir ''(safn5)''
 +
* Fixed special characters in pause and message menu ''(BlockMen}''
 +
* Fixed game pause in singleplayer ''(BlockMen)''
 +
* Fixed "ghost stacks" created when a player clicks an item on the ground ''(Novatux)''
 +
* Fixed double sending of chat messages ''(sapier)''
 +
* Fixed bug in RemoteClient::GetNextBlocks ''(celeron55)''
 +
* Fixed missing change password button ''(sapier)''
 +
* Fixed crash when teleporting near unknown node ''(BlockMen)''
 +
* Fixed broken Ipv4 serialization on win32 ''(sapier)''
 +
* Fixed invalid liquid lighting ''(RealBadAngel)''
 +
* Fixed wrong node texture rotation for facedirs 5 and 7 ''(MetaDucky)''
 +
* Fixed crash when trying to draw too many items from inventory in HUD ''(celeron55)''
 +
* Fixed a text border update bug ''(ShadowNinja)''
 +
* Added hack to avoid 2s startup delay on local games ''(sapier)''
 +
* Fixed player:set_animation() in third person view ''(BlockMen)''
 +
* Fixed numeric underflow on calculating window size adjustment ''(sapier)''
 +
* Fixed heart + bubble bar size on different texture packs ''(sapier)''
 +
* Added a limit to node meta data resolving recursion ''(ShadowNinja)''
 +
* Fixed typo (std::encl) in src/gettext.cpp ''(JakubVanek)''
  
 
=== Modding-related Changes ===
 
=== Modding-related Changes ===
Line 67: Line 151:
 
* Added pointed_thing to minetest.register_on_placenode ''(ShadowNinja)''
 
* Added pointed_thing to minetest.register_on_placenode ''(ShadowNinja)''
 
* Added pointed_thing to minetest.register_on_punchnode and on_punch callbacks ''(ShadowNinja)''
 
* Added pointed_thing to minetest.register_on_punchnode and on_punch callbacks ''(ShadowNinja)''
 +
* Added player:set_sky() with simple skybox support ''(celeron55)''
 +
* Added player:override_day_night_ratio() for arbitrarily controlling sunlight brightness ''(celeron55)''
 +
* Added minetest.kick_player(name, reason) ''(sapier)''
 +
* Added capability to read table flag fields from Lua API ''(kwolekr)''
 +
* Added minetest.set_noiseparam_defaults() ''(kwolekr)''
 +
* Added force_placement parameter to minetest.place_structure ''(kwolekr)''
 +
* Removed "Server -!- " prefix from player messages ''(ShadowNinja)''
 +
* Updated set_mapgen_params and set_gen_notify to use new flag format ''(kwolekr)''
 +
* Added player:set_local_animations() ''(BlockMen)''
 
* Added player:set_eye_offset() ''(MirceaKitsune, BlockMen)''
 
* Added player:set_eye_offset() ''(MirceaKitsune, BlockMen)''
* Added player:set_local_animations() ''(BlockMen)''
+
* Added checks for nil in minetest.after ''(ShadowNinja)''
* Added <code>minetest.register_on_item_eat</code> ''(rubenwardy)''
+
* Added support for function serialization to minetest.serialize ''(ShadowNinja)''
 
+
* Added proper Lua API deprecation handling ''(sapier)''
== 0.4.8 → 0.4.9 ==
+
* Added write_json() to the async API ''(ShadowNinja)''
0.4.9 was released on January 1, 2014.
+
* Made dump2() return the serialized string, like dump() ''(ShadowNinja)''
=== New Features===
+
* Added item eat callback ''(rubenwardy)''
 
 
<!--'''Big gameplay changes'''-->
 
 
 
<!--'''Smaller gameplay tweaks'''-->
 
 
 
'''Logistic changes'''
 
* Added SQLite rollback ''(Mario Barrera & ShadowNinja)''
 
* Implemented HTTPFetch ''(kahrl)''
 
* Replaced SimpleThread with JThread ''(sapier)''
 
* Added handling for LuaErrors in Lua -> C++ calls on LuaJIT ''(ShadowNinja)''
 
* Made SHA1::addBytes(..., 0) a no-op instead of an assertion failure ''(kahrl)''
 
 
 
'''Visual changes'''
 
* Reworked shaders ''(RealBadAngel)''
 
* Added configurable font shadow ''(xyz)''
 
* Added Directional fog + horizon colors ''(Taoki)''
 
* Removed FPS from window title (Doubles performance on some window managers) ''(PilzAdam)''
 
 
 
'''Other things'''
 
* Implemented modstore search tab and version picker ''(sapier)''
 
* Added check for denied access in itemdef/nodedef/media fetch loop ''(kahrl)''
 
 
 
=== Bug Fixes ===
 
* Fixed line_of_sight() ''(sapier)''
 
* 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 ===
 
* Added area parameters back to calc_lighting() and set_lighting() ''(kwolekr)''
 
* Added get_light_data() and set_light_data() to LuaVoxelManip ''(kwolekr)''
 
* Added minetest.swap_node ''(Novatux)''
 
* 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 ==
 
0.4.8 was released on November 24, 2013.
 
=== New Features===
 
 
 
'''Big gameplay changes:'''
 
* Added drowning ''(PilzAdam, RealBadAngel, BlockMen)''
 
* Added weather support ''(proller)''
 
 
 
'''Smaller gameplay tweaks:'''
 
* Added new sounds ''(someone who can't decide if he wants to be called mitori or mito551)''
 
* Don't predict placing and removing nodes if interact privilege is missing ''(PilzAdam)''
 
 
 
'''Logistic changes:'''
 
* Clean up rendering code a bit (increases FPS by 5 to 10) ''(Exio)''
 
* Added support for IPv6 ''(matttpt)''
 
* Don't write player files all the time if they are not modified ''(PilzAdam)''
 
* Made the main menu Lua based ''(sapier, kahrl)''
 
* Change static ContentFeatures array into a vector ''(rathgit, kahrl)''
 
* Allow multiple singleplayer games at the same time ''(PilzAdam)''
 
* Added texture pack selection to main menu ''(Novatux)''
 
* 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)''
 
* Adjust the Lua API structure and improve header inclusion to decrease compile time ''(kahrl)''
 
* Database abstraction, LevelDB support ''(sfan5, wieszak, xyz)''
 
* Use the Settings Lua interface to read world.mt ''(PilzAdam)''
 
* Use engine.is_yes() in mainmenu ''(PilzAdam)''
 
* Always use builtin JThread library ''(kwolekr)''
 
* Optimized minetest.get_connected_players() ''(fairiestoy)''
 
* Removed mapgen_air alias (#935) ''(0gb.us)''
 
* Raise the maximum node limit to 0x7fff ''(ShadowNinja)''
 
* Shortened lines in falling node code ''(ShadowNinja)''
 
* Moved the sapling growing and grass adding/removing ABMs to Lua ''(Novatux)''
 
* Portability fixes for OpenBSD (and possibly NetBSD and others) ''(Warr1024)''
 
* Accept hexadecimal and string values for seeds ''(kwolekr)''
 
* Pass a errfunc to <code>lua_pcall</code> to get a traceback ''(ShadowNinja)''
 
* Replaced print()s with minetest.log() in builtin ''(PilzAdam)''
 
* Updated parameter index of set_lighting() ''(kwolekr)''
 
 
 
'''Visual changes:'''
 
* Added support for bumpmapping ''(RealBadAngel)''
 
* Added diagonal liquid animation ''(kahrl)''
 
* Damage updates and effects are now sent to other players ''(PilzAdam)''
 
* Made fog depend on humidity ''(proller)''
 
* Added git hash to version string in top left corner of window ''(kahrl)''
 
* Added --version option ''(kahrl)''
 
* Fixed liquid_range, fixing graphical glitches on old servers ''PilzAdam)''
 
* Added seed entry to world creation dialog ''(kwolekr)''
 
 
 
'''Other things'''
 
* Play <code>player_damage.ogg</code> when recieving damage and <code>player_falling_damage.ogg</code> on falling damage ''(PilzAdam)''
 
* 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 ===
 
* Fixed <code>print(nil)</code> crashing the server ''(kahrl)''
 
* 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 ===
 
* Added ingame modstore to download mods from mmdb ''(sapier)''
 
* 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 Additions/Changes:'''
 
* <code>pwdfield</code>, <code>vertlabel</code>, <code>tabheader</code>, <code>dropdown</code> and <code>checkbox</code> ''(sapier)''
 
* <code><noclip>;<drawborder>;<pressed texture name></code> options for image_button ''(sapier, BlockMen)''
 
* <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 ==
 
 
 
0.4.7 was released on June 6, 2013.
 
 
 
=== New Features===
 
'''Big gameplay changes:'''
 
* Added snow, snow block, ice and dirt with snow ''(PilzAdam)''
 
* 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:'''
 
* 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:'''
 
* Added mapgen v7; not usable currently ''(kwolekr)''
 
* Added support for LuaJIT, makes mod execution much faster ''(RealBadAngel)''
 
* Move cave generation to cavegen.cpp and restructure it into a class ''(kwolekr)''
 
* 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:'''
 
* Changed "unknown block" texture to "unknown node" ''(khonkhortisan)''
 
* Changed textures of sand, desert sand and desert stone ''(VanessaE)''
 
* <code>crosshair.png</code> is used instead of the normal crosshair if present ''(dannydark & Exio4)''
 
* 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 things'''
 
* Added <code>mouse_sensitivity</code> option ''(Exio4)''
 
 
 
===Bug Fixes===
 
* Check if the address field is empty when hitting enter on the multiplayer tab ''(ShadowNinja)''
 
* Limit speed in collisionMoveResult for avoiding hangs ''(Exio4)''
 
* Fixed camera "jumping" when attached and the parent goes too fast ''(Zeg9)''
 
* Fixed nick completion in chat console with the tab key ''(PilzAdam)''
 
* Do not always move fast in water and ladders when aux1_descend it true ''(Taoki)''
 
* Fixed '''a lot''' memory leaks ''(sapier, PilzAdam, kahrl, kwolekr)''
 
* Fixed import of older maps ''(kwolekr)''
 
* 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===
 
* Added <code>player:set_physics_override()</code> to set per-player physics ''(Taoki & PilzAdam)''
 
* Use <code>node_box</code> for <code>selection_box</code> if <code>drawtype = "nodebox"</code> and <code>selection_box = nil</code> ''(kaeza)''
 
* Added <code>minetest.env:line_of_sight()</code> and <code>minetest.env:find_path()</code> ''(sapier)''
 
* Added API functions to add elements to the HUD of players ''(blue42u, kwolekr & kaeza)''
 
* Added option to not prepend "Server -!- " to messages sent with <code>minetest.chat_send_player()</code> ''(ShadowNinja)''
 
* Added <code>minetest.get_player_ip()</code> ''(ShadowNinja)''
 
* 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 ==
 
 
 
0.4.6 was released on April 3, 2013.
 
 
 
=== New Features===
 
'''Big gameplay changes:'''
 
* Added lavacooling near water; lava source turns into obsidian, flowing lava turns into stone ''(PilzAdam)''
 
* Added junglewood (with stairs and slabs), jungleleaves and junglesaplings ''(PilzAdam)''
 
* Added obsidian, obsidian shards and obsidian glass ''(PilzAdam & jojoa1997)''
 
* Added grass (5 different heights) ''(PilzAdam)''
 
* Added growing for papyrus (on dirt and grass near water) and cactus (on sand) ''(PilzAdam)''
 
* Added stonebricks crafted from 4 stones ''(PilzAdam)''
 
* 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:'''
 
* 3 nodes now give 6 slabs instead of 3 ''(PilzAdam)''
 
* Wooden stairs and slabs are now flammable ''(PilzAdam)''
 
* Lava is not renewable anymore ''(PilzAdam)''
 
* 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)''
 
* Falling nodes now destroy solid buildable_to nodes ''(Splizard)''
 
* Added ability for buckets to pick up flowing water when liquid_finite is enabled ''(ShadowNinja)''
 
* Use right click to place liquids with buckets; added description for buckets ''(PilzAdam & ShadowNinja)''
 
* Fixed furnace infotext saying "Furnace out of fuel" when placing a fuel but no item to cook into it ''(PilzAdam)''
 
* Made Mese ores a bit more rare; made Mese blocks very rare ''(PilzAdam)''
 
* Added object <-> object collision ''(sapier)''
 
 
 
'''Map generation changes:'''
 
* Readded dungeons (disabled by default, enable with "dungeons" flag in "mg_flags" setting) ''(kwolekr)''
 
* Speed up lighting a lot ''(kwolekr)''
 
* Readded jungles (disabled by default, enable with "jungles" flag in "mg_flags" setting) ''(kwolekr)''
 
* Generate apple trees ''(kwolekr)''
 
* 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:'''
 
* Changed textures of cobblestone and mossy cobblestone ''(PilzAdam)''
 
 
 
'''Logistic changes:'''
 
* Split scriptapi.cpp into more files ''(sapier)''
 
* Migrate to STL containers/algorithms ''(xyz)''
 
* Added the pseudo game ''common'' with ''bucket'', ''default'', ''stairs'', ''doors'' and ''fire'' mods included; deleted those mods from minetest_game ''(celeron55 & PilzAdam)''
 
* Added a checkbox for finite liquids to settings menu ''(proller)''
 
 
 
'''Other things'''
 
* Use moving clouds as background for the main menu ''(Krisi & ShadowNinja)''
 
* minetest.env:find_nodes_near() optimized to be 11.65x faster, ServerEnvironment step CPU consumption cut in half ''(kwolekr)''
 
 
 
===Bug Fixes===
 
* Fixed build with ogles2 driver ''(proller)''
 
* Fixed new_style_water (shaders are not used for this anymore) ''(PilzAdam)''
 
* Fixed backface_culling in tiledef; both sides of flowing liquids are now visible ''(doserj)''
 
* Hopefully fix node replacement bug (where the node that is pointed at is replaced) ''(0gb.us)''
 
 
 
===Modding-related Changes===
 
* Added <code>minetest.get_all_craft_recipes(output)</code> ''(RealBadAngel)''
 
* Allow any character in formspec strings with escape characters ''(kwolekr)''
 
* Added ability to pass multiple parameters to <code>minetest.after()</code> ''(Jeija)''
 
* Added <code>player:set_look_yaw()</code> and <code>player:set_look_pitch()</code> ''(RealBadAngel)''
 
* Added ability to load mods from the pseudo game ''common'' via <code>common_mods</code> in game.conf ''(celeron55)''
 
* 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 ==
 
 
 
0.4.5 was released on March 4, 2013.
 
 
 
===New Features===
 
'''Big gameplay changes:'''
 
* 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)''
 
* Doors must now be right clicked to be opened ''(PilzAdam)''
 
* Flying through walls now requires the "noclip" privilege and noclip mode must be enabled by pressing H ''(PilzAdam)''
 
* Added a list of servers to the "Multiplayer" tab of the main menu ''(Jeija)''
 
* Added a mod selection menu ''(doserj)''
 
* Jungle grass now spawns naturally again ''(PilzAdam)''
 
* Added finite liquid support, experimental and disabled by default ''(proller)''
 
 
 
'''Smaller gameplay tweaks:'''
 
* Locked chest contents are now only shown to their owner ''(PilzAdam)''
 
* Added ability to write several lines on a sign ''(PilzAdam)''
 
* When sneaking, the current node/item will always be used when right clicking even if pointing a chest or a furnace ''(Jeija)''
 
* In creative mode, hand now breaks everything nearly instantly and nodes/items are infinite ''(PilzAdam)''
 
* Player physics are now tweakable by server admin ''(Taoki)''
 
* Fast mode can now be used in liquids and in climbable nodes ''(kwolekr)''
 
* Fire is now "buildable to" ''(Casimir)''
 
* To fly at "fast" speed, the "use" key must now be held if using shift to descend ''(PilzAdam)''
 
* Added upside down stairs and slabs ''(PilzAdam)''
 
* Added ability to switch to fly_mode when double-tapping space bar, disabled by default; can be enabled in the key change menu ''(PilzAdam)''
 
* Tweaked damage and punch times of weapons, tools and hand ''(Calinou)''
 
* Added repeated right clicking when holding the right mouse button, see "repeat_rightclick_time" setting in minetest.conf ''(Jeija)''
 
 
 
'''Map generation changes:'''
 
* Added L-system tree generation ''(RealBadAngel & dannydark)''
 
* Map generation is now slightly faster and can be tweaked in minetest.conf ''(kwolekr)''
 
* Added optional flat map generation, with and without trees ''(kwolekr)''
 
 
 
'''Visual changes:'''
 
* Mese pickaxe now has a new texture, which is more yellow ''(Jordach)''
 
* Tweaked dirt texture so that it tiles better; improved lump and ingot textures; added fake shading to the default player texture ''(Iqualfragile & GloopMaster & Jordach)''
 
* Added particles when digging blocks ''(Jeija & PilzAdam)''
 
* The selection box of stairs now fits the stairs ''(PilzAdam)''
 
* If damage is disabled, damage screen is disabled and health is not shown on the HUD ''(PilzAdam)''
 
* Damage screen is now red fade instead of constant red; camera now tilts when receiving damage ''(Jeija & PilzAdam)''
 
* Added "selectionbox_color", "crosshair_color" and "crosshair_alpha" minetest.conf settings for changing selection outline color, crosshair color and crosshair opacity respectively ''(Exio4)''
 
 
 
'''Logistic changes:'''
 
* Minetest-c55 is now named Minetest
 
* Less stuff is now put in debug.txt by default, change with debug_log_level, default is 2
 
* Texture atlas is now disabled by default ''(kwolekr)''
 
* 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)''
 
* Added support for downloading media from a server using cURL which is faster, disabled by default ''(Ilya Zhuravlev)''
 
 
 
===Bug Fixes===
 
* Walking on stairs, slabs and glass now makes sounds ''(PilzAdam & dannydark)''
 
* Fixed and cleaned EmergeThread around a bit ''(kwolekr)''
 
* Punching entities and players with shovels and pickaxes now deals damage ''(Calinou)''
 
* Fixed some caves having too many dead ends ''(unknown)''
 
* Fixed the looks of some plantlike nodes by using two long planes instead of four shorter planes ''(doserj)''
 
* Grass no longer turns into dirt below unloaded blocks ''(PilzAdam)''
 
* Fixed a crash when clicking "Configure" when no world is selected in Singleplayer menu ''(doserj)''
 
* Fixed dropped item collision with nodeboxes ''(jordan4ibanez)''
 
* Fixed a glitch where the player gets liquids in his inventory when a server lags ''(PilzAdam)''
 
 
 
===Modding-related changes===
 
* Added ability to change the itemstack in placenode callbacks ''(PilzAdam)''
 
* Added ability to create multi-line textfields in formspecs ''(Jeija)''
 
* Add on_rightclick(pos, node, clicker) callback for nodes ''(PilzAdam)''
 
* Added minetest.show_fromspec(playername, formspec) to show formspecs via Lua ''(sapier)''
 
 
 
== 0.4.3 → 0.4.4 ==
 
 
 
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 Jan 2, 2013.
 
 
 
===New Features===
 
* Added animated 3D player and a new default skin, the default model also supports Minecraft skins ''(Taoki, skin by Jordach)''
 
* 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)''
 
* 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)''
 
* Improve map generation speed a lot ''(hmmmm)''
 
* Day-night transitions are now smoother ''(celeron55)''
 
* 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===
 
* Fixed falling sand and gravel sometimes incorrectly landing ''(PilzAdam)''
 
* Fixed empty bucket being named "emtpy bucket" (khonkhortisan and PilzAdam)
 
* Fixed slab to full block transformation ''(PilzAdam)''
 
* Fixed smooth lighting between MapBlocks ''(celeron55)''
 
* Prevent some blocks (leaves, falling sand and gravel) from giving air when dug when they disappear as you mine them ''(PilzAdam)''
 
* Fixed papyruses and cacti growing inside trees ''(PilzAdam)''
 
* Fixed flowing liquid animation direction calculation ''(celeron55)''
 
* Fixed wielditem entity drawtype brightness control ''(celeron55)''
 
* Fixed ObjectRef:punch() ''(celeron55)''
 
* Fixed a rare bug in leaf decay ''(PilzAdam)''
 
* Fixed trees growing into any type of node ''(xyz)''
 
* Fixed server crashing when "/clearpassword" is typed without an argument ''(Uberi)''
 
* 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===
 
* Added 3D model support for entities ''(Taoki)''
 
* Added attachment support (so that entities can "ride" other entities) ''(Taoki)''
 
* 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)''
 

Revision as of 19:52, 27 May 2014

0.4.9 → ?

New Features

Gameplay Changes

  • Made pause menu actually pause singleplayer game and use lower maximum FPS in it (celeron55)
  • Prevented placing node when player would be inside new node (BlockMen)
  • Removed liquid_finite and weather (proller)


Logistic Changes

  • Made build prefer pkg-config for freetype2 detection (hasufell)
  • Added function to deregister a profiler from profiler list (sapier)
  • Reverted "Improve (re)spawn, add cache_block_before_spawn and max_spawn_height settings" (didn't work because blocks weren't loaded yet) (ShadowNinja)
  • Made MutexQueue use jsemaphore for signaling (sapier)
  • Added operator!= to Inventory(List), make operator== a const method (kahrl)
  • Renamed get_json_value to read_json_value (ShadowNinja)
  • Added maximum recursion depth to read_json_value (ShadowNinja)
  • Made default User-agent follow RFC 2616 (ShadowNinja)
  • Deindented HTTPFetchRequest::HTTPFetchRequest() (ShadowNinja)
  • Include system info in the HTTP user agent on Windows (sfan5)
  • Added proper client initialization (sapier)
  • Settings: Add no-exception variants of each get method (kwolekr)
  • Huge overhaul of the entire MapgenParams system (kwolekr)
  • ServerEnvironment: Remove direct dependency on EmergeManager (kwolekr)
  • Accept any error response code for missing index.mth (kahrl)
  • Replace pause, message, and death menus by formspec ones (sapier)
  • Removed goto from Environment::removePlayer (Selat)
  • Pass arguments by reference (Selat)
  • Replace usage of long long with u64/s64 (ShadowNinja)
  • Made serializeStructToString use an ostringstream (ShadowNinja)
  • Removed lua_State parameter from LuaError::LuaError (ShadowNinja)
  • 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)
  • Reorderd initialization of member variables to make GCC happy (ShadowNinja)
  • 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)
  • Use "core" namespace internally (ShadowNinja)
  • Mapped Irrlicht log level to minetest 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)
  • Removed unused settings (sapier)
  • Rework dumping functions (ShadowNinja)

Visual Changes

  • Added waypoint HUD element (RealBadAngel)
  • Added on-the-fly normal map generation (RealBadAngel)
  • Added third person view (BlockMen)
  • Made sun and moon textureable (RealBadAngel)
  • Made formspec text-area word-wrap (RealBadAngel)
  • Added support for DPI based HUD scaling (sapier)
  • Made debug text adjust it's border to the screensize (ShadowNinja)
  • Added download rate to non-HTTP media progress bar (sapier)
  • Added support for interlaced-polarized, top-bottom, and side-by-side 3D screens
  • Hide pause menu before drawing "Shutting down..." message (sapier)
  • Sorted commands and privs alphabetically in '/help' (kaeza)

Other Things

  • Removed noisy error messages, and prepend "pathfinder: " to pathfinder messages (sapier)
  • Added the option to bind to a specific address (ShadowNinja)
  • Removed lots of dead code (sapier)
  • Made flag strings clear specified flag with 'no' prefix (kwolekr)
  • Added check to avoid usage of broken LuaJIT < 2.0.0-beta-8 (sapier)
  • Lots of new and updated translations (many contributors)
  • Improved win32 file version information (sapier)
  • Documented CMake options in README (sfan5)
  • Correct misleading detached inventory error message (CiaranG)
  • Added more informative error messages for inventory and item method errors (ShadowNinja)
  • Added redis database backend (sfan5)
  • Updated documentation on is_ground_content (ShadowNinja)
  • Moved the old stuff to doc (BlockMen)
  • Only push the Lua error handler once (ShadowNinja)
  • Removed dependency on marshal and many other async changes (ShadowNinja)
  • Added joining player to printed player list (sapier)
  • Made item entity stacks merge on the ground and add TTL to item entities (RealBadAngel)

Bug Fixes

  • Fixed objects being selected behind a node (Novatux)
  • Fixed absence of images when compiled with RUN_IN_PLACE=0. (xyz)
  • Added option to link to OpenGL ES, fixes #1051 (sfan5)
  • Fixed CMake list parsing in build (hasufell)
  • Prevented cuting multi-line error messages at half of second line in mainmenu dialog (celeron55)
  • Created new instance of mesh every time it's required (Solves #703) (celeron55)
  • Escaped error messages in error dialog (PilzAdam)
  • Sent long announce as POST, showed OS in useragent (proller)
  • Prevented auto-rotated nodes from replacing the nodes they were placed on (ShadowNinja)
  • Added protection support to auto-rotated nodes (ShadowNinja)
  • Prevented looking up node texts in a endless recursion loop (sapier)
  • Set locale properly when built without gettext support (celeron55)
  • Fixed Minetest's reliable UDP implementation (compatible with old clients) (sapier)
  • Fixed check for max_fd == -1 - should actually be max_fd != -1 (sapier)
  • Compare values instead of pointers in Inventory::operator== (kahrl)
  • Fixed some errors reported by clang static analyzer. (xyz)
  • Fixed win32 reading semaphore count not working (broke all queues) (sapier)
  • Prevented player from jumping into nodes from below (BlockMen)
  • Fixed MainMenu Lua errors because of changes in get_textlist_index (VargaD)
  • Fixed CURL DLL not getting installed when sound was disabled (sfan5)
  • Fixed error on mod download failure (ShadowNinja)
  • Fixed use of previously deallocated EmergeManager (kwolekr)
  • Fixed only half of unreliable queue being handled per step in worst case (sapier)
  • Fixed broadcasting private messages in error conditions (sapier)
  • Fixed player textures by adding '-' to list of allowed characters in media filenames (sapier)
  • Fixed texture pack names corrupting mainmenu (ShadowNinja)
  • Fixed crash when a error occurred in a globalstep callback (ShadowNinja)
  • Fixed unexpected preprocessor directive in gettext.cpp (xyz)
  • Fixed a heap-use-after-free in pause menu (xyz)
  • Added checks for invalid user input for important settings (kwolekr)
  • Fixed memory leak in database migration (Selat)
  • Fixed invalid check for fread error on extracting zip (sapier)
  • Fixed null string escape in server list (proller)
  • Fixed a unloaded but active block problem (CiaranG)
  • Fixed rendering glitches when far from the center of the map (Novatux)
  • Improved performance of ABMs by only calcuation object counts once (CiaranG)
  • Fixed race condition on exit to menu (sapier)
  • Fixed generating winresource.o with build dir != source dir (safn5)
  • Fixed special characters in pause and message menu (BlockMen}
  • Fixed game pause in singleplayer (BlockMen)
  • Fixed "ghost stacks" created when a player clicks an item on the ground (Novatux)
  • Fixed double sending of chat messages (sapier)
  • Fixed bug in RemoteClient::GetNextBlocks (celeron55)
  • Fixed missing change password button (sapier)
  • Fixed crash when teleporting near unknown node (BlockMen)
  • Fixed broken Ipv4 serialization on win32 (sapier)
  • Fixed invalid liquid lighting (RealBadAngel)
  • Fixed wrong node texture rotation for facedirs 5 and 7 (MetaDucky)
  • Fixed crash when trying to draw too many items from inventory in HUD (celeron55)
  • Fixed a text border update bug (ShadowNinja)
  • Added hack to avoid 2s startup delay on local games (sapier)
  • Fixed player:set_animation() in third person view (BlockMen)
  • Fixed numeric underflow on calculating window size adjustment (sapier)
  • Fixed heart + bubble bar size on different texture packs (sapier)
  • Added a limit to node meta data resolving recursion (ShadowNinja)
  • Fixed typo (std::encl) in src/gettext.cpp (JakubVanek)

Modding-related Changes

  • Passed pointed_thing to after_place_node (ShadowNinja)
  • Documented "wielditem" visual (ShadowNinja)
  • Passed pointed_thing to on_rightclick (Novatux)
  • Added forceloading (Novatux)
  • Added InvRef::get/set_lists() (ShadowNinja)
  • Mapgen V6: Added flag to stop mud flow (kwolekr)
  • Allowed vertical axis particle rotation constraint (khonkhortisan)
  • Used tables for adding particles, deprecated former way (khonkhortisan)
  • Added formspec table (kahrl)
  • Added minetest.override_item (ShadowNinja)
  • Added reading of slice probability table from schematic descriptors (kwolekr)
  • LuaVoxelManip: Added get_param2_data and set_param2_data (kwolekr)
  • Added pointed_thing to minetest.register_on_placenode (ShadowNinja)
  • Added pointed_thing to minetest.register_on_punchnode and on_punch callbacks (ShadowNinja)
  • Added player:set_sky() with simple skybox support (celeron55)
  • Added player:override_day_night_ratio() for arbitrarily controlling sunlight brightness (celeron55)
  • Added minetest.kick_player(name, reason) (sapier)
  • Added capability to read table flag fields from Lua API (kwolekr)
  • Added minetest.set_noiseparam_defaults() (kwolekr)
  • Added force_placement parameter to minetest.place_structure (kwolekr)
  • Removed "Server -!- " prefix from player messages (ShadowNinja)
  • Updated set_mapgen_params and set_gen_notify to use new flag format (kwolekr)
  • Added player:set_local_animations() (BlockMen)
  • Added player:set_eye_offset() (MirceaKitsune, BlockMen)
  • Added checks for nil in minetest.after (ShadowNinja)
  • Added support for function serialization to minetest.serialize (ShadowNinja)
  • Added proper Lua API deprecation handling (sapier)
  • Added write_json() to the async API (ShadowNinja)
  • Made dump2() return the serialized string, like dump() (ShadowNinja)
  • Added item eat callback (rubenwardy)