Changelog
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)
- 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)