Changelog
Note that not all changes made to the code between releases are listed here. Fixes to bugs that were introduced after the previous release, small internal changes, code style fixes, and changes of the like are not listed. If you want a list of every change made between releases see the commit log.
If you want to see older versions, please go to this page.
0.4.16 → 5.0.0 (Not yet released)
This is an incomplete change log of an in-development version. Last updated 3rd Jan by nerzhul
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
New Version Scheme
The leading 0 has been dropped, and a trailing one added. 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
- Settable custom collision boxes for players. Fix: **todo**
- 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
- 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.
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
- Android: Rewritten controls. Add joystick and modify up on-screen buttons (srifqi)
- Add online content repository (mods, texture packs, mod packs, games) (rubenwardy)
- Add support for authentication in an SQLite database (bendeutsch)
- Allow enter to select items from combobox's list (basicer)
- Add an optional readonly base database (lhofhansl)
- Add '/hasprivs' chat command (ClobberXD)
- Mapgen flags: Add 'biomes' global mapgen flag (paramat)
- Add crossview support (otdav33)
- Add player marker to both minimap types (nanoproject)
- Formspecs: Use mouse wheel to pick up and deposit single items (HybridDog)
- Rename 'subgame' to 'game' (paramat)
- Allow for getting world name and path separately on the command line (Brian)
- Object limits: Allow objects to exist outside the set 'mapgen limit' (paramat)
- Dungeons: Add Y limits in all mapgens (paramat)
- Delete world dialogue: Move buttons to avoid double click deletion (srifqi)
- Add a refresh button to the server list (ThomasMonroe314)
- Add '/kill' chat command (Wuzzy)
- Add Android drivers to the video_driver drop-down menu (Wayward1)
- Main menu: Change tabs to 'Start Game' and 'Join Game' (ThomasMonroe314)
- Load a texture pack from the 'textures' subfolder of a game (red-001)
- Add password confirmation on new player registration (srifqi)
- Biomes: Add vertical biome blend (paramat)
- Mgv7 floatlands: Add exponent parameter (paramat)
- Add check to pause game on lost window focus (rubenwardy)
- Adjust default console height (Ezhh)
- Update light decoding table size (numberZero)
- Add coloured terminal output (HybridDog)
- Optionally extend the active object in a players camera direction (lhofhansl)
- Load files from subfolders in texture packs (numberZero)
- Sounds: Add falling node sounds (sofar)
- Do not grant all privileges to the admin - changes game behavior (lhofhansl)
- Add setting for near plane distance (basicer)
- Add mute setting (toggled by the mute key and in the volume menu) (DTA7)
- Add setting to display the itemstring after the tooltip in the inventory (DTA7)
- Implement ability to set client node dig prediction result (sofar)
- Make HUD status messages translatable (Wuzzy)
- Add setting for world start time, and change default to 5:15am (JRottm, paramat)
- Make world creation menu automatically generate a random world name (lisacvuk)
- New lighting curve (numberZero)
- Add short description for disabled texture packs (Wuzzy)
- Change “Use” key name to “Special” (TeTpaAka)
- Make direct item selection keys freely bindable (Wuzzy)
- Mapgen: Add Carpathian mapgen (Vaughan Lapsley)
- Fog effect when camera is inside cloud (bendeutsch)
- Camera: Add and improve arm inertia (kilbith)
- Dungeons: Add setting to prevent projecting dungeons (paramat)
- Emit liquid sound if the player walks in liquid (juhdanad)
- Make number of maximum displayed chat messages configurable (Esteban)
- Add a server-sided way to remove color codes from incoming chat messages (red-001)
- Play damage sound on player death (paramat)
Bug fixes and Improvements
Also a big thanks to paramat, ClobberXD, pauloue, gituser2194, lhofhansl, ashtrayoz, Wuzzy, and Ezhh for their contributions to documentation, in no particular order.
- Smoothed yaw rotation for objects (SmallJoker)
- Optimized MapBlock mesh generation (lhofhansl)
- Use server's zoom fov for distant world loading. (lhofhansl)
- Disable shaders GUI on unsupported drivers (numberZero)
- Optimize ABM checks (lhofhansl)
- Fix debug and info text being the wrong color (rubenwardy)
- Fix objects colliding with their children (SmallJoker)
- Fix tooltip colors specified by formspec part (rubenwardy)
- Fix sky objects not rendering with OpenGL ES (stujones11)
- Make container[] support fractional offsets (SmallJoker)
- Add a MSVC / Windows compatible snprintf function (nOOb3167)
- Check if player exists on use of /privs (ClobberXD)
- Make player liquid speed independent of FPS (paramat)
- Fix bugs in networking which caused a performance loss (lhofhansl)
- Reduce block load glitches (lhofhansl)
- Formspecs: Remove accidental empty 'quit' field (SmallJoker)
- core.spawn_falling_node: Keep metadata (SmallJoker)
- Fix memory leaks in mod storage (nerzhul, red-001)
- Cavegen: Fix errors when getting biome outside mapchunk (paramat)
- Fix rtt >= 0.0f assertion and free_move crash (SmallJoker)
- Make RTT display (F5 information) working correctly again (HybridDog)
- Fix crash caused by Lua error during startup (red-001)
- Fix ipv6_server=true not accepting IPv4 connections on Windows (sfan5)
- Biome API: Fix absent water decorations and dust, in deep water (paramat)
- Provide Xorg/net wm process ID (thoughtjigs)
- Make os.tempfolder work correctly for MinGW & MSVC (nOOb3167)
- Fix many Android build issues (nerzhul)
- Fix narrow/utf8 difference in incoming/outcoming messages (numberZero)
- Fix builtin lua function os.tempfolder (nOOb3167)
- Biomemap: Avoid empty biomemap entry to fix failing biome dust (paramat)
- Fix isNan check for object:set_yaw(..) (nerzhul)
- Mgv7: Avoid rivergen removing mod-placed nodes when overgenerating (paramat)
- Print error when HOME is not set (Midgard)
- Formspec verification: Fix show_formspec inside callbacks (SmallJoker)
- Vein ore: Fix bug caused by changing perlinmap Y size (paramat)
- Schematic decorations: Fix placement bug when centered and rotated (paramat)
- Dungeons: Fix duplication of y limit parameters (paramat)
- Fix missing ignore textures (HybridDog)
- Pointed_thing_to_face_pos: Avoid crash when player is inside a node (paramat)
- Don't show Android edit dialog when tapping read-only field (srifqi)
- Fix segfault in player migration and crash in log_deprecated (SmallJoker)
- Make sure color returns to normal after a damage flash (lhofhansl)
- Camera: Improve subpixel movement (SmallJoker)
- Run detach callbacks on player leave (SmallJoker)
- Fix crash guiConfirmRegistration quit menu (Vincent Glize)
- Fix LuaJIT include directory not being found (rubenwardy)
- Fix built-in inventory list crash when size = 0 (SmallJoker)
- Global new() or grab() to be managed in constructor only (JDCodeIt)
- Mapgen caves: Re-order generation to fix cavern bug (paramat)
- Biome-defined dungeon nodes: Use faster biome calculation (paramat)
- Dungeons: Mostly fix missing stair nodes (paramat)
- Fix i386 bit build at OpenBSD (mazocomp)
- Node resolver: Make error on fallback optional, disable for mapgen aliases (paramat)
- Builtin auth handler: Speed up file writing (SmallJoker)
- FOV: Raise lower limit to avoid zoom-loading of distant world (paramat)
- Fix for translating empty strings (minduser00)
- upright_sprite: Fix texture position for players (SmallJoker)
- carpathian mapgen: Fix spawn level calculation (paramat)
- Huge LBM lookup performance improvement on mapblock loading (nerzhul)
- Fix last performance-type-promotion-in-math-fn problems (nerzhul)
- Optimize a little bit isBlockInSight, adjustDist & collisions (nerzhul)
- Fix various clang-tidy reported performance-type-promotion-in-math-fn (nerzhul)
- Selected ItemStack: Reduce black magic and improve the stack swapping behavior (SmallJoker)
- Fix many issues reported by clang-tidy (nerzhul)
- core.rotate_node: Do not trigger after_place_node (SmallJoker)
- Sound: fix static initialization order dependency by not having one (nOOb3167)
- Fix various Client class functions not marked as override (virtual) (nerzhul)
- Guard sound manager initialization with "enable_sound" (nOOb3167)
- MacOS: don't require X11 libraries during compilation (D Tim Cummings)
- Make sounds stop playing when entering game or mainmenu (nOOb3167)
- Fix node-nodebox lighting difference in direct sunlight (numberZero)
- Fix a crash or random memory leak when resetting saved environment variable in test_servermodmanager.cpp (nerzhul)
- Fix an alone if to be with a missing else (nerzhul)
- Biomes: Fix vertical biome blend (paramat)
- Fix Android build (nerzhul)
- Drop texture file list cache (numberZero)
- Formspecs: Unify textarea and field parsing functions, fix wrong fallback text (SmallJoker)
- Variable name fix + structure creation unrolling in lighting code (nerzhul)
- getv3intfield: Fix logic of return bool (paramat)
- Fix missing logs from warningstream (or similar) (HybridDog)
- Generate Notifier: Clear events once after all 'on generated' functions (paramat)
- valleys mapgen: Fixed submarine valleys shape (Gael-de-Sailly)
- Fix liquid post effect colour behaviour in third person view (red-001)
- Collision engine: Collide with 'ignore' nodes (paramat)
- settingtypes.txt: Fix valleys dungeon ymax error (parama)
- Biome API: Add 'get_biome_name(biome_id)' API (paramat)
- Spawn level: Add 'get_spawn_level(x, z)' API (paramat)
- Make the /shutdown command work properly (dopik, SmallJoker)
- Mitigate formspec exploits by verifying that the formspec was shown to the user by the server. (red-001)
- Check argument types inside MetaDataRef Lua API (sfan5)
- Dungeons: Avoid generation in multiple liquid nodes and 'airlike' (paramat)
- falling.lua: Delete falling node entities on contact with 'ignore' (paramat)
- Position entity nametags relative to selection-box (stujones11)
- Fix liquid bottoms not being rendered (numberZero)
- Apply physics overrides correctly during anticheat calculations (sfan5)
- Disable fall damage when "immortal" group set (lisacvuk)
- Fix ambient occlusion and dark lines at mapblock borders (numberZero)
- Fix off-by-one in log output line length (pgimeno)
- Fix buffer parameter not working in LuaPerlinNoiseMap::l_getMapSlice() (pgimeno)
- Fix naming conventions of noise userdata (rubenwardy)
- Don't recalculate statustext initial color every time & review fixes (nerzhul)
- Prevent Android from automatically locking display (Wayward1)
- Fix Wstringop-overflow warning from util/srp.cpp (HybridDog)
- Fix crash on can_bypass_userlimit returning non-boolean (rubenwardy)
- Tool getDigParams: Fix selecting the best fitting time (HybridDog)
- Advanced settings: Add range check for float type (srifqi)
- Fix rounding error in g/set_node caused by truncation to float (rubenwardy)
- Line_of_sight: Improve using VoxelLineIterator (juhdanad)
- Fix dancing text for formspec input fields (numberZero)
- Clear colors when reading property info. Set vertex colors on upright_sprites. (basicer)
- Fix error if setting menu_last_game is not a valid game (nOOb3167)
- Fix undefined behaviour on getting pointer to data in empty vector (nOOb3167)
- Fix wrong scrolling of formspec input fields (numberZero)
- Vector functions: Fix vector.direction() function, improve documentation (paramat)
- Fix items turning black (numberZero)
- Chat: Remove prompt history duplicates (SmallJoker)
- directiontables: Fix MSVC compiler error (adrido)
- Builtin: Fix handle_node_drops crash with nil digger (SmallJoker)
- Damage: Remove damage ignore timer (SmallJoker)
- Pointed thing to face pos: Use 'eye height' object property (paramat)
- Ensure no item stack is being held before crafting (Luis Cáceres)
- Use Irrlicht's mesh cache for animated meshes. (lhofhansl)
- Shut down mapgen threads before other shutdown tasks (raymoo)
- Inventory: Restrict access from too far away (SmallJoker)
- core.rotate_node: Run callbacks like with any regular placed node (SmallJoker)
- Fix mousewheel behaviour in textarea (shivajiva101)
- Fix dark liquids (numberZero)
- Biome dust node: Only place on 'walkable' cubic non-liquid drawtypes (paramat)
- Allow zoom to actually show more data. (lhofhansl)
- Fix item and wield meshes (numberZero)
- Make use of safe file writing in auth handler (sfan5)
- Fix issue Minetest crash when custom font path is not exist (srifqi)
- Item entities: Enable item collision detection for sudden movement (DTA7)
- Do not scale texture unless necessary. (lhofhansl)
- Fix day_night_ratio_do_override not being initialised server-side (rubenwardy)
- Avoid filtering low-res textures for animated meshes (incl. players) (lhofhansl)
- Fix default item callbacks to work with nil users (raymoo)
- Reduce server FOV with forward speed (lhofhansl)
- Set range of blocks to retrieve per roundtrip to 2. (lhofhansl)
- Fix inventory drag drop flag (asl97)
- Fix strict_protocol_version_checking functionality after ee9a442 (SmallJoker)
- Don't try to craft a non-existent item (Esteban)
- Cache server config settings. (lhofhansl)
- Profiler: Fix var args not being passed to callback register function (rubenwardy)
- Retrieve a small cone of blocks in the direction of the players velocity. (lhofhansl)
- Formspec: Fallback to 'label' in readonly textarea[] (backwards compatible) (SmallJoker)
- Simple decorations: Make 'place_offset_y' usable with simple decorations (paramat)
- Smooth lighting: Fix light leaking through edge-connected corners (DTA7)
- Thread: fix a crash on Windows due to data race condition on Thread::m_start_finished_mutex (nerzhul)
- ParticleSpawner::step cleanup and rotation fix (SmallJoker)
- CAO footstep sounds: Reduce gain to balance volume (paramat)
- Fix attached particle spawners far from spawn (raymoo)
- Localplayer: Fix disable_jump effect and getStandingNodePos() (SmallJoker)
- Server: affect bind_addr on constructor instead of start() (nerzhul)
- Positional sound: Limit volume when closer than 1 node (paramat)
- Fix blocks written by VManip not being marked as modified (sfan5)
- on_death: Fix callback number of pushed arguments (SmallJoker)
- Fix compile error in OpenBSD (jcalve)
- Biome generation: Fix layers of 'filler' nodes at biome y limits (paramat)
- Fix rotated node placement (tenplus1)
- Cavegen: Avoid unsupported biome 'top' or 'filler' nodes (paramat)
- Item drop: Tune to land exactly 2 nodes away with level view (paramat)
- Network: Fix logging into older worlds with base64 hashes (SmallJoker)
- Fix core.wrap_text and make its behaviour consistent with the docs (sfan5)
- Fix dropped item look (HybridDog)
- Object properties: Fix loss of custom selectionbox when it's not updated (SmallJoker)
- Fix incorrect buffer size calculation on creation of HUD status messages (rubenwardy)
- Fix empty legacy meta being persisted (rubenwardy)
- Fix crash on revocation of removed privilege (rubenwardy)
- Server: Calculate maximal total block sends dynamically (SmallJoker)
- Particles: Do not add digging particles for airlike nodes (SmallJoker)
- Prevent /spawnentity from spawning unknown entity (Wuzzy)
- Fix animation frame_speed and blend loosing precision (sapier)
- Use crack animation on all tile layers (juhdanad)
- Statbars: fix incorrect half-images in non-standard orientations (Ekdohibs)
- Android stepheight: Only increase if 'touching ground' (paramat)
- Check item_drop amount clientside (rubenwardy)
- Fix MacOS builds (Pavel Puchkin)
- Fix Android node selection distance (juhdanad)
- Safe digging and placing (bendeutsch)
- Respect object property hp_max field for players (SmallJoker)
- Do not add base position to player selection box (stujones11)
- Travis-ci build: fix osx jpeg installation failure, git ambiguous argument error (caused by merging commits) and add a workaround for travis commit range bug (juozaspo)
- Fix shader.h inclusion place in game.cpp (nerzhul)
- GenericCAO: Fix light position for non-players, remove deprecated initialisation code (SmallJoker)
- Lint fix on localplayer.h (nerzhul)
- L-system: Fix leaves cutting through stems (HybridDog)
- Trigger on_rightclick regardless on the formspec meta field (SmallJoker)
- Abort if static_spawnpoint is an invalid setting instead of just giving an error log (HybridDog)
- Mgv5: Make spawn position search more reliable (paramat)
- Mgv7: Raise spawn point by 1 node for no mountain case (paramat)
- Fix error not printed to console when no name is provided (juozaspo)
- Fix player coordinate rounding in collisionMoveSimple() (JRottm)
- Sort box corners correctly (Thomas--S)
- Fix crash when using --go in command line (juozaspo)
- Dungeons: Use biome 'node_stone' if normal stone types not detected (paramat)
- GenericCAO: Fix dark model below y = 0 (paramat)
- Darkness detection: Reduce chance of false positives darkening the skybox (lhofhansl)
- Move the nametag back to the top of the player (TeTpaAka)
- Remove unused Map::getDayNightDiff + fix one undefined variable in mapblock.cpp (nerzhul)
- LBM: use range based for and fixed a loop variable overloading in applyLBMs (nerzhul)
- Very little performance fix on correctBlockNodeIds (nerzhul)
- Mgfractal: Improve spawning behaviour (paramat)
- Mesh generation: Fix performance regression caused by 'plantlike_rooted' PR (numberZero)
- Chat: Move chat text down to not overlap 3rd line of debug text (paramat)
- Camera: Fix wieldmesh glitch after teleporting (kilbith)
- Sneak: Stripped down version (SmallJoker)
- Don't search for locale folders if gettext is disabled (adrido)
- Fix crash due to missing pointer validation (nerzhul)
- Change the server description after a search (Dumbledor)
- Mgv7: Fix undefined 'float_mount_height' (paramat)
- Fix for empty key/value when reading item string with wear but no metadata (Jesse McDonald)
- Fix MSVC compiling annoyances (adrido)
- Fix undefined behaviour in arm movement when dividing by zero (nerzhul)
- Inventory: Fix wrong stack size behaviour and item loss (SmallJoker)
- Mgv7: Clean up divide-by-zero fix (paramat)
- Mgv7: Avoid divide-by-zero errors (paramat)
- Fix render order of overlays (juhdanad)
- Fix console resize issue when maximising game window (Ezhh)
- Mgv5/v7/fractal: Add 'large_cave_depth' parameter to replace fixed value (paramat)
- Fix console not being properly resized after window size changed (Zeno-)
- Fix deserialization of ItemDefinition (Rui-Minetest)
- Mgv6 mudflow: Avoid partially removed stacked decorations (paramat)
- Fix no sound bug (Rui-Minetest)
- Plantlike meshoptions: Fix inverted random vertical offset (numberZero)
- (Re)spawn players within 'mapgen_limit' (paramat)
- Have the server send the player list to the client (red-001)
- Stop autoforward on BACKWARD key-press (tukkek)
- Check node updates whether the blocks are known (SmallJoker)
- Really delete things in fs::RecursiveDelete (Vitality)
- Formspecs: Fix invalid background warning (SmallJoker)
- Change mapgen order to ores > dungeons > decorations (paramat)
- Content tab: Fix clipped text in texture pack button (paramat)
- Menu content tab: Fix clipped description and missing depends (SmallJoker)
- Particles: Make collision with objects optional (paramat)
- Light curve: Simplify and improve code, fix darkened daytime sky (Vitality)
- Fix stretched stars bug, change render order (Aspen)
- Software inventorycube (Vitality)
- Night clouds: Boost brightness for a moonlit appearence (paramat)
- Fix Mapgen Valleys getSpawnLevelAtPoint() (Treer)
- Player hand list: require init by mods (SmallJoker)
- Android buttons: Inset 'rare controls', inset and resize 'gear icon' (paramat)
- Mainmenu: Clean up and improve advanced settings dialogues (SmallJoker)
- Ease selection of entities behind nodes (SmallJoker)
- Windows: Cpack wix installer (adrido)
- Formspecs: Fix text clipped by scrollbars (random-geek)
- Improve content store layout (random-geek)
- Content store: Add setting to filter non-free packages (rubenwardy)
- Escape special characters when searching the server list (ChimneySwift)
- Disable HW stereo for IrrLicht 1.9 (numberZero)
- Fix get_server_status() segfault due to uninitialized m_env (rubenwardy)
- Night sky: Fix brightness threshold for applying night colours (paramat)
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
- Give games the ability to disallow specific mapgens (Ezhh)
- Allow overriding tool capabilities through itemstack metadata (raymoo)
- Add player inventory callbacks (SmallJoker)
- Load dependencies and description from mod.conf (rubenwardy)
- Customizeable max health and max breath for players (SmallJoker)
- Add reasons to on_dieplayer and on_hpchange (rubenwardy)
- ObjectRef: Add add_velocity() (HybridDog)
- Real global textures (numberZero)
- Add formspec theming using prepended strings (rubenwardy)
- Biome API: Add 'get_biome_name(biome_id)' API (paramat)
- Spawn level: Add 'get_spawn_level(x, z)' API (paramat)
- Allow damage for attached objects, add attach/detach callbacks (SmallJoker)
- Implement minetest.register_can_bypass_userlimit (nerzhul)
- Add minetest.bulk_set_node call + optimize Environment::set_node call (nerzhul)
- Make the server status message customizable (SmallJoker)
- Optional alpha channel support for entities (stujones11)
- Biomes: Add 'min_pos'/'max_pos' xyz biome limits (paramat)
- Place schematic (on vmanip): Enable use of 'place center' flags (paramat)
- Allow the join/leave message to be overridden by mods. (red-001)
- is_area_protected: Rename from intersects_protection (SmallJoker)
- Add `on_auth_fail` callback (red-001)
- Add minetest.is_player (HybridDog)
- Add on_grant and on_revoke callbacks (rubenwardy)
- Intersects_protection(): Move from Minetest Game to builtin (paramat)
- Connected Nodeboxes: Add `disconnected` boxes (Thomas--S)
- Allow 'default' parameter in 'settings:get_bool' function (Jordan Irwin)
- Add callback to preserve node metadata as item metadata (ashtrayoz)
- Zoom: Set zoom FOV per-player using a player object property (paramat)
- Make core.auth_table private and structure builtin/auth.lua (sfan5)
- Stratum ore: Add option for a constant thickness stratum (paramat)
- Player eye height: Make this a settable player object property (paramat)
- Add sha1 to lua utils. (basicer)
- Biome API: Add decoration flags for underground decorations (paramat)
- Simple decorations: Add 'param2_max' parameter for random param2 (paramat)
- Stratum ore: Allow use with no noise for simple horizontal strata (paramat)
- Add static_save property to luaentites to not save them statically. (orwell96)
- Set placer to nil instead of a non-functional one in item_OnPlace (DTA7)
- Object properties: Add 'glow', disables light's effect if negative (basicer)
- Schematic decorations: Add 'place_offset_y' placement parameter (paramat)
- Ores: Add stratum ore (paramat)
- Remove nodeupdate and nodeupdate_single (Rui-Minetest)
- Zoom: Move enabling zoom to a new player object property (paramat)
- Lua API: Add function to deregister single biomes (zeuner)
- core.get_objects_inside_radius: Omit removed objects (HybridDog)
- Add '@n' escape sequences and some documentation on translated strings. (Ekdohibs)
- Overlays for wield and inventory images (juhdanad)
- Add clientside translations. (Ekdohibs)
- Make entity selection and collision boxes independently settable (stujones11)
- Mgv6: Remove incorrectly defined and unused 'volume nodes' (paramat)
- Minimap: Add new HUD flag for minimap radar mode (paramat)
- Make dropped items colorable (juhdanad)
- Add slippery group for nodes (players/items slide) (Wuzzy)
- Step height: Add as a player object property (paramat)
- Mgv7: Add 'mount_zero_level' parameter (paramat)
- Clouds API: change speed from 'y' to 'z', ColorSpecs in Lua docs (bendeutsch)
- Mgv7: Add option to repeat surface biomes in floatlands (paramat)
- Player collisionbox: Make settable (TeTpaAka)
- In-cloud fog: Strengthen effect when small view range is used (lhofhansl)
- Biomes/decorations/ores: Make relative to 'water_level' setting (paramat)
- Add 'plantlike_rooted' drawtype (numberZero)
- Mapgen Carpathian: Add lava_depth parameter (vlapsley)
- Expose getPointedThing to Lua (juhdanad)
- Helper methods for hardware colorization (juhdanad)
- CavesRandomWalk: Make 'lava_depth' a mapgen parameter (paramat)
- Automatic item and node colorization (juhdanad)
- Sound: Add pitch option (Rui-Minetest)
- httpfetch: Enable gzip support (sfan5)
- Gennotify: Add 'minetest.get_decoration_id' API (paramat)
- Mgvalleys: Make river depth variation and humidity drop optional (paramat)
- Decoration API: Add lightweight ability to have complete coverage (paramat)
- Biome API / dungeons: Add biome-defined dungeon nodes (paramat)
- Biome API / cavegen: Add definable cave liquid for a biome (paramat)
- Biomes: Add 'get heat', 'get humidity', 'get biome data' APIs (paramat)
- 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)
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)
0.4.17.1 → 0.4.17.2 (Android Only)
Patched 0.4.17.1 to fix some Android crashes, released on June 28, 2018.
- Android: Use correct temporary path (stujones11)
- Fix MurmurHash implementation to really be unaligned (sfan5)
- Fix crash caused by Lua error during startup (red-001)
- Fix buffer overrun in SRP (red-001)
- Android: use c++_shared library instead of c++_static (nerzhul)
- Android: Fix android tools version used to build MT (nerzhul)
0.4.17 → 0.4.17.1
Patched 0.4.17 to fix a crash, released on June 10, 2018.
- Correct character encoding for chat_send_player and chat_send_all
- Fix crash caused by log_deprecated and the use of deprecated functions
- Fix crash on pause menu when pressing up/down keys
- Android build system fixes
0.4.16 → 0.4.17
Backported release containing only bug fixes and small features. 0.4.17 was released on June 3, 2018.
Features
- Builtin auth handler: Speed up file writing
- LBM lookup performance improvement on mapblock loading
- Minetest ASCII art: Move from actionstream to rawstream
- CollisionMoveSimple: Collide with 'ignore' nodes
- Allow objects to exist outside of 'mapgen limit' (mapblocks may exist)
- Find nodes in area (under air): Raise volume limit
- Allow dumping userdata using dump()
- Add minetest.is_player API function
- Refine movement anticheat (again)
- Apply physics overrides correctly during anticheat calculations
- Shut down mapgen threads before other shutdown tasks
- Show script source of deprecated function calls
- Inventory: Restrict access from too far away (anticheat)
- Improve Settings tab button alignments
- Add minetest.sha1 util API function
- Avoid filtering low-res textures for animated meshes
- Add setting for near plane distance to improve performance
- Footstep sounds: Reduce gain to balance volume
- Positional sound: Limit volume when closer than 1 node
- Leveled nodebox: Change levels from 1/63rds to 1/64ths
- ClientInterface: user limit checking function
- Make dropped items colorable
- Trigger on_rightclick regardless on the formspec meta field
- Clarify "Full viewing range" key message
- Rework new sneak code, minimize
- Tile material: Opaque textures by default to prevent xray effect
- Automatic item and node colorization
- find_nodes_in_area: Extend maximal count to U32_MAX
- Add server option to remove color codes from chat messages
Bug fixes and Improvements
- Various build fixes (LuaJIT not found, OpenBSD)
- Dungeons: Mostly fix missing stair nodes
- Cavegen: Fix variable typo that broke mgvalleys large cave distribution
- Prevent translating empty strings
- upright_sprite: Fix texture position for players
- core.rotate_node: Do not trigger after_place_node for mod compatibility
- macOS: don't require X11 libraries during compilation
- Generate Notifier: Clear events once after all 'on generated' functions
- Fix liquid post effect colour behaviour in third person view
- Delete world dialog: Move buttons to avoid double click deletion
- Fix /shutdown countdown parameter
- Check argument types inside MetaDataRef Lua API
- Fix "Ignoring CONTENT_IGNORE redefinition" warning
- dropped items and falling nodes: Delete in 'ignore' nodes
- Move setlocale from Lua to C++
- Fix off-by-one in log output line length
- Fix buffer parameter not working in getMapSlice()
- Fix rounding error in g/set_node caused by truncation to float
- Fix dancing text in text input fields
- Fix undefined behaviour on getting pointer to data in empty vector
- Fix wrong scrolling in text areas
- Builtin: Fix handle_node_drops crash with nil digger
- Damage: Remove damage ignore timer due to abuse potential
- Ensure no item stack is being held before crafting
- Several documentation additions, improvements
- core.rotate_node: Run callbacks like with any regular placed node
- Biome dust node: Only place on 'walkable' cubic non-liquid drawtypes
- Make use of safe file writing in auth handler
- Add minetest.safe_write_file() API function
- Fix issue Minetest crash when custom font path is not exist
- Fix Settings tab formspec alignment
- Do not scale texture unless necessary
- httpfetch: Enable gzip support
- Fix day_night_ratio_do_override not being initialised server-side
- Fix default item callbacks to work with nil users
- Prevent from crafting non-existent, unknown items
- Profiler: Fix var args not being passed to callback register function
- Unkown nodes: Provide position on interact
- Fix attached particle spawners far from spawn
- Localplayer: Fix disable_jump effect and standing node position
- Fix blocks written by vmanip not being marked as modified
- Set placer to nil instead of a non-functional one in item_OnPlace
- Fix Rotate Node Placement
- ServerEnv: Clean up object lifecycle handling (item deletion)
- Fix the core.wrap_text function
- Fix empty legacy meta being persisted
- Statbars: fix incorrect half-images in non-standard orientations
- Android stepheight: Only increase if 'touching ground'
- Fix Android node selection distance
- serialize: use a temporary for SerializeException
- Fix player coordinate rounding in collisionMoveSimple()
- Various crash and error fixes
- Fix for empty key/value when reading item string with wear but no metadata
- Fix render order of overlays
- Fix console resize issue when maximising game window
- Fix console not being properly resized after window size changed
- Verify HudSetParams input when hotbar textures are set
- (Re)spawn players within 'mapgen_limit'
- Fix sending color codes to clients that don't support them
0.4.15 → 0.4.16
0.4.16 was released on June 3, 2017.
- Minimum version supported is now 0.4.11
Features
- Add 2D sheet animations for nodes (sfan5)
- Drop client side chat prediction. No more messages shown to chat when you talk and you are disconnected. (red-001)
- Add particle animation, glow (sfan5)
- Server list: add ping indicators (kilbith)
- Server side occlusion culling (lhofhansl)
- New custom progress bar (you can customize it with texture packs) (kilbith)
- Implement delayed shutdown for server owners: /shutdown 60 => shutdowns in 1 min /shutdown -1 cancels it (nerzhul)
- Add support for requesting a reconnect and changing the shutdown message to /shutdown (red-001)
- Add a mapblock cache in MeshUpdateQueue to improve client rendering performance (celeron55)
- Player data can now be into database. This is an important change, players to files are always supported for this release but deprecated. Files backend for players will be removed in a future release. See http://wiki.minetest.net/Database_backends for compat matrix and migration steps. (nerzhul)
- Sounds: add fading sounds (Bremaweb, krock)
- Save automatically window size when modified. This behaviour can be disabled in client settings (nerzhul)
- Add cancel button to password change formspec (red-001)
- Improve pause menu with more user friendly informations and update keys dynamicly depending on your configuration (red-001)
- Merge singleplayer & server tab on desktop clients (octacian)
- Add /clearinv chat command (octacian)
- Add keyword-based search to server-list and advance settings (red-001, rubenwardy)
- Add hardware-based itemstacks and node coloring (juhdanad)
- Undersampling which should make minetest run better on low end devices (numberZero)
Cheat fixes
- Breath cheat is now definitively fixed. Hacked clients cannot ignore breath anymore. (nerzhul)
- Fix node damage cheat. They are now calculated server side. Hacked clients cannot ignore node damages anymore (fire, lava, cactus...). (nerzhul)
- Disallow dropping items while dead. (sfan5)
- Calculate maximum interact distance from wielded tool. (sfan5)
Bug fixes and Improvements
- Little antispam fix (nerzhul)
- Fix a little bit fog calculations (lhofhansl)
- Fix player deletion problem when too many objects are in a mapblock (nerzhul)
- Better block sending priorities to send map to players (???)
- Sneaking changes (krock, paramat, sfan5)
- Huge ABM handling code performance improvement (nerzhul)
- Smooth lighting for all nodes (numberZero)
- Added mesh generation delay (numberZero)
- PostgreSQL bugfix on blocks deletion (nerzhul)
- Windows integration enhancements (???)
- Wieldmesh natural orientation (kilbith)
- Memleak fix on client disconnection (nerzhul)
- Various performance fixes (???)
- Fix Windows icon (adrido)
- Fix various minor memleaks (nerzhul?)
- Recent LuaJIT fixes (nerzhul)
- Reduce network packet reading/writing memory usage (???)
- Binding tab now doesn't exit game when used (sofar)
- Light update for mapblocks (juhdanad)
- Client: reduce fake object reactions in client event queue (nerzhul)
- Crashfix when reading schematic calls from API in some cases (nerzhul)
- Limit sound volume when incorrect value was set into config (???)
- Fix Cursor lock problem when window is inactive (krock)
- Particles are now sent to client regarding distance (huge performance improvement on particle servers) (paramat)
- Really disable minimap when disabled in configuration (nerzhul)
- Fix a damage bug when falling from a very high height (red-001)
- Various documentation fixes (???)
- Expose singlenode mapgen to menu (nerzhul)
- Dropdown menu selection fix (red-001)
- Tooltip display unification between tooltip[] and list[] (krock)
- ServerActiveObjects are now removed when overtaking map limits (nerzhul, paramat)
- Chat console height can now be set by the player. (Shara RedCat)
- Additional option added to node highlighting drop-down. (Shara RedCat)
Client Modding
- Introducing Client-Side modding (CSM for the initiated). You can now have local mods to read various client data and handle different client events. This new modding step is very secure, you don't have access to all standard Lua API, just a subset, to protect your computers. Mods should be installed in @user_path@/clientmods.
- You will also have access to Client side commands, starting with a dot.
- If you want to know more about CSM API, please look at Client Side Modding documentation
- Added by nerzhul, red-001, bigfoot547, Dumbeldor and paly2.
Server Modding
- Enable mod_security by default
- Add minetest.player_exists() (rubenwardy)
- Add player attributes backend. This permits modders to store misc player related data to core and retrieve it after player loading. The attribute save is done by core. (nerzhul)
- Add mod metadata API permitting mods to have a standard way to write their own data. We recommend you to use this instead of your custom files backend. (nerzhul)
- Add position & anchor attributes for formspecs (adelcoding1)
- Add minetest.spawn_falling_node call (zaoqi)
- Remove core.cause_crash Lua call (nerzhul)
- Add on_flood server Lua callback sofar)
- Add clouds API (bendeutsch)
- Add private node meta to prevent some informations to be leaked to client (example: chest contents) (sfan5)
Other / Misc
- Redis backend authentication support (sfan5)
- PostgreSQL < 9.5 support (???)
- Code refactoring (Game, Environments) (???)
- Introduce clang-format on repository to check and reformat C++ code with our rules (~15% source code managed) (nerzhul)
- Move external libs outside of src/ to lib/ (nerzhul)
- Update jsoncpp embedded lib to last C++03 version (0.10.6) (nerzhul)
- Disable leveldb on Android (Ekdohibs)
- Implement daily gitlab package build for Debian/Ubuntu/Fedora (nerzhul)
- Translations updates (Multiple people)
Minetest Game changes
0.4.14 → 0.4.15
0.4.15 was released on Dec 22, 2016.
No official changelog exists yet, however you can find an unofficial one here: https://forum.minetest.net/viewtopic.php?p=243949#p243949
0.4.13 → 0.4.14
0.4.14 was released on May 15, 2016.
Features
- Add viewing range GUI setting (kilbith)
- New settings tab contain all possible settings (PilzAdam)
- WoW-style Autorun (Duane Robertson)
- Add server side ncurses terminal (est31)
- Add support for audio feedback if placing node failed (BlockMen)
- New 3D Mode: Pageflip (Dalai Felinto)
- Add Valleys mapgen (Duane Robertson)
- Add /admin command which says who the server admin is (Splizard)
- Add '/clearobjects quick' (kahrl)
- Minimap: show player markers (RealBadAngel)
- Add support for non-ASCII characters to chat console (ShadowNinja)
- Nodebox: Allow nodeboxes to "connect" (Auke Kok)
- Add option to disable entity selectionboxes (TriBlade9)
- Add option to change screenshot file format (kaeza)
Bug fixes and Improvements
- Fix object position border checking (est31)
- Fix falling through nodes on world load (Christof Kaufmann)
- Add environment variable MINETEST_WORLD_PATH (SmallJoker)
- Fix crash regression when invsize formspec gets used (est31)
- Fix GUITable selection issues with trees (kahrl)
- Speed up and make more accurate relief mapping (RealBadAngel)
- Add option to give every object a nametag (BlockMen)
- Add support for limiting rotation of automatic face movement dir entities (sapier)
- Fix wield item glitch (RealBadAngel)
- Allow per-tiles culling (Auke Kok)
- Mapblock mesh: Eliminate meshgen lags (RealBadAngel)
- Fix jumping at node edge (gregorycu)
- Restore simple settings tab and add advanced settings as dialog (BlockMen)
- Mapblock mesh: Allow to use VBO (RealBadAngel)
- Update menu header image (Jean-Patrick Guerrero)
- Fix player dying on login (Ekdohibs)
- Mainmenu: Refactor tab UI code (Rui419)
- Fix hotbar placement on displays with low screen density (PilzAdam)
- Mainmenu: Unify favorite servers with main serverlist (kilbith)
- Builtin: Add basic_privs setting (rubenwardy)
- Optimize default settings for Android build (Maksim Gamarnik)
- Fix locked hardware buttons on Android (Maksim Gamarnik)
- Disallow stacking items with different meta (hunterdelyx1)
Modding
- Add /emergeblocks command and core.emerge_area() Lua API (kwolekr)
- Add get_biome_id(biome_name) callback (Duane Robertson)
- Added minetest.wallmounted_to_dir (Fernando Carmona Varo)
- Allow setting chunksize in core.set_mapgen_params (kwolekr)
- ABMs: Make catch-up behaviour optional (paramat)
- Decoration API: Add flag for placement on liquid surface (paramat)
- Add more ways to pass data to check_player_privs (Robert Zenz)
- Add option to disable backface culling for models (BlockMen)
- Schematics: Add core.place_schematic_on_vmanip API (kwolekr)
- Add LuaSecureRandom (est31)
- Allow craft replacements to use groups (TeTpaAka)
- Add Lua interface to HTTPFetchRequest (Jeija)
- Implement AreaStore serialization (ShadowNinja)
- Add AreaStore custom ID API (ShadowNinja)
- Add an option to colorize to respect the destination alpha (Samuel Sieb)
- Lua_api.txt: Add warnings of l-system lighting bug (paramat)
- Add [resize texture modifier (SmallJoker)
- Make the inventory bar HUD take offset into account (rubenwardy)
Mapgen
- Dungeongen: Remove floating frames (paramat)
- Blob ore: Fix partial blobs (paramat)
- Mapgen: Add 4D fractal mapgen (paramat)
- Mgfractal: Independent offset/slice params for mandelbrot and julia (paramat)
- Mapgen: Add global 'decorations' flag (paramat)
- Mgv5/v7/flat/fractal: More large pseudorandom caves (paramat)
- Mgfractal: Add 3D and 4D fractals (paramat)
- Mgvalleys: Add Dry Riverbeds (Duane Robertson)
- Mapgen: Spread both night and day light banks in spreadLight (kwolekr)
- Mgv7: Decrease cliff steepness (paramat)
Other / Misc
- Clean up threading (ShadowNinja)
- Improve locale directory detection (est31)
- Add new ContentParamType2 "CPT2_DEGROTATE" (est31)
- Refactor logging (ShadowNinja)
- Improve rollback database indexing (cheapie)
- Mgfractal: Add documentation to conf.example and settingtypes (paramat)
- Add the player name to dropped items (Robert Zenz)
- Implement OSX Travis builds (Pavel Puchkin)
- Simplify custom games packaging (Pavel Puchkin)
- New timer design (Auke Kok)
- Add option to not send pre v25 init packet (est31)
- Clean up Strfnd (ShadowNinja)
- Add CONTRIBUTING.md (Craig Davison)
- Mainmenu: Standardize the menu button order and sizes (SmallJoker)
- Android: Increase player_stepheight for thicker snow nodebox (Maksim Gamarnik)
Minetest Game changes
API changes
- A modding API was added to TNT, which allows mods to easily create explosion effects (red-001)
- A modding API was added to doors, which allows mods to create new doors that are feature-rich (sofar)
- A fence, wall, and fence gate API was added (sofar)
- A give_initial_items API was added (rubenwardy)
Interface changes
- Creative inventory now allows searching for nodes by name and description (kilbith)
Visual/Effect/Audio changes
- Several new textures were added by many different contributors (paramat, kilbith, sofar, kevdoy, Craig Davison, Wouters)
- Water texture alpha and water post effect color were changed (paramat)
- Steel door sounds were added (sofar)
- Flowers will wave when the waving plant shader is enabled (paramat)
- Doors are now made out of a single mesh and not two half nodes (sofar)
Mapgen/Landscape changes
- Grass can grow on sandy beaches and dunes (paramat)
- More flowers will grow in many biomes (paramat)
- Almost all biomes are now richer and more varied (paramat)
- Aspen trees were added to forests (sofar)
- Fallen logs were added (mgv5, mgv7), and mushrooms can grow on them (sofar)
- Dirt and sand blobs may appear in sandstone (paramat)
Gameplay changes
- Book interface was entirely rewritten to allow for proper pages and wrapping (kilbith, tenplus1, mt-modder)
- A metal sign was added, as well as a steel ladder (kilbith)
- mushroom spores were removed (sofar)
- a metal (locked) trapdoor was added (sofar)
- books can be copied in the craft grid (sofar)
- A new permanent flame node was added, as well as "flint and steel" (paramat, kilbith)
- Moss can grow on cobblestone if it gets wet (paramat)
- TNT was largely rewritten and has many new effects and behaviors (red-001, sofar)
- Stone walls were added for all cobble stone types (sofar)
- A simple Fence gate was added (sofar)
- The boat is now slightly faster (paramat)
0.4.12 → 0.4.13
0.4.13 was released on August 20, 2015.
Features
- Add camera smoothing and cinematic mode (F8) (rubenwardy)
- Radius parameter for /deleteblocks here (SmallJoker)
- Save creative_mode and enable_damage setting for each world in world.mt (fz72)
- Configurable automatic texture scaling and filtering at load time. (Aaron Suen)
- Connect rails with connect_to_raillike and shorten the codes (SmallJoker)
- Clouds: Make cloud area radius settable in .conf (paramat)
- Added hour:minute format to time command (LeMagnesium)
- Add mod security (ShadowNinja)
- Add texture overriding (rubenwardy)
- Improved parallax mapping. Generate heightmaps on the fly. (RealBadAngel)
- Make attached objects visible in 3rd person view (est31)
- Remove textures vertical offset. Fix for area enabling parallax. (RealBadAngel)
- Add minimap feature (RealBadAngel, hmmmm, est31, paramat)
- Add new leaves style - simple (glasslike drawtype) (RealBadAngel)
- Add ability to specify coordinates for /spawnentity (Marcin)
- Add antialiasing UI setting (Mark Schreiber)
- Add wielded (and CAOs) shader (RealBadAngel)
- Add map limit config option (rubenwardy)
Bug fixes and Improvements
- Add count based unload limit for mapblocks (est31)
- Kick players when shutting down server or on Lua crash (nerzhul)
- Fix relief mapping issues (RealBadAngel)
- Improve group-based connection between raillike nodes (BlockMen)
- Use skin font for usernames (fixes #2363) (BlockMen)
- Fix some memory leaks on packet sending. (nerzhul)
- Fix android build (nerzhul)
- Fix serialization of floating point numbers (ShadowNinja)
- Disallow object:remove() if the object is a player (Kahrl)
- Fix wrapDegrees family of functions (Zeno)
- Optimise MapBlockMesh related functions (gregorycu)
- Fix minor memory leak (Android) (Zeno)
- Fix occlusion (Miguel Almeida)
- ClientInterface::getClientIDs doesn't need a std::list. Use a std::vector for better perfs (nerzhul)
- Fix some rendering glitches (BlockMen)
- Fix mapgen using unitialised height map values (Zeno)
- Fix Android text bug (no text displaying) (Zeno)
- Improve Clouds::render mathematics (nerzhul)
- For usages of assert() that are meant to persist in Release builds (when NDEBUG is defined), replace those usages with persistent alternatives (Zeno)
- Fix RUN_IN_PLACE broken due to invalid usage of assert (sapier)
- Respect game mapgen flags and save world noise params (ngosang)
- Don't use luaL_checkstring to read node names, it's only for arguments (ShadowNinja)
- Heightmaps: Fix uninitialised values in mgv5/mgv6. findGroundLevel: Return -MAP_GENERATION_LIMIT if surface not found (paramat)
- Make the dummy backend only look up blocks once (ShadowNinja)
- Fix unitialized data when creating TOSERVER_INIT packet (nerzhul)
- Fix memleak pointed by issue #2439. Also change bzero to memset. bzero doesn't work on windows (nerzhul)
- Stop formspecs closing with double-click in empty area (Zeno)
- Ensure that heightmap is initialized before use (Zeno)
- lua_api/l_mapgen: Fix overlapping areas of minetest.generate_ores/decorations (paramat)
- Mgv6: Fix uninitialised heightmap used by cavegen (paramat)
- Disable double-click -> ESC translation for main menu (Zeno)
- If player is dead, permit it to respawn, even if damages are not enabled (nerzhul)
- Android: Fix auto-entry of server address and port in mainmenu (est31)
- Fix various damage related bugs (client-side) (Zeno)
- Minor bug fix (lag between damage flash and hearts updating) (Zeno)
- Fix game minetest.conf default settings (est31)
- Optimize minetest.get_(all)_craft_recipe(s) (gregorycu)
- Fix composite textures with texture_min_size (Aaron Suen)
- Protect Player::hud from concurrent modifications (nerzhul)
- Fix minetest.get_craft_recipe function (est31)
- Fix set_bits (kwolekr)
- Fix usage of destroyed mutex (kwolekr)
- Fix crash caused by null texture in GUI formspec/HUD. (Aaron Suen)
- Fix players spawned at (0,0,0) in some rare cases instead of static_spawnpoint (nerzhul)
- Crafting speedup (est31)
- Fix uninitialized variabled in ConnectionEvent (nerzhul)
- Fix a rare crash case un SendPlayerHP (nerzhul)
- Schematics: Fix core.schematic_create() (kwolekr)
- fix infinite spawners (obneq)
- Disable connection timeout for singleplayer and server tabs (est31)
- Fix mod store rating (ShadowNinja)
- Fix sign-compare compiler warnings in mg_ore.cpp (ShadowNinja)
- Fix player pitch and yaw not being set properly (Kevin Ott)
- Fix fast leaves with texture_clean_transparent enabled. (Aaron Suen)
- Fix minetest.clear_* creating new LOCAL table instead of clearing the existing one. (Tomas Brod)
- Noise: Fix PcgRandom::randNormalDist() when range contains negative numbers (kwolekr)
- Add a check for animation when getting an extruded mesh (Kevin Ott)
- Stop NetworkPacket methods from producing bloated packets (Jay Arndt)
- Replace Wieldmesh::setItem assertion that could be triggered by the server with an error (kwolekr)
- Ensure that Map::findNodesWithMetadata() reports nodes strictly within the node-granular area (kwolekr)
- Fix typo in WieldMesh::setItem() (kwolekr)
- Don't crash if an item gets dropped into unloaded space (tenplus1)
- ANDROID: Do not limit situations where fast is enabled (Zeno)
- Fix current mod name change missed during rebase (ShadowNinja)
- Noise: Fix interpolation at negative coordinates (kwolekr)
- (Android) Only simulate holding down fast key if fast_move is toggled to true (Zeno)
- dofile error reporting for syntax errors (est31)
- Don't crash when saplings try to grow on unknown nodes (y.st, ShadowNinja)
- Remove unneccessary space for tab completion (Nathaniel Olsen)
- Fix some issues with animations, and allow non-looped animations to be defined (MirceaKitsune)
- Fix bug when craft input isn't replaced (TeTpaAka)
- Fix string conversion error message (est31)
- Fix bugs in mainmenu (kilbith, jp)
- Fix single click world select (est31)
- Shaders fixes and cleanup relief mapping code. (RealBadAngel)
- Fix missing check for 0 in craft replacements (TeTpaAka)
- Craftdef: Use numbers instead of iterators (est31)
- Fix attempt to start a world when no world is selected/created (kilbith)
- Fix endless loop since grandparent commit (est31)
- Fix damage flash when damage disabled (kwolekr)
- Add more robust error checking to deSerialize*String routines (kwolekr)
- Fix minetest.get_(all)_craft_recipe(s) regression (est31)
- Fix FSAA dropdown option reset after changing another dropdown option (kilbith)
- Fix MSVC number conversion warning (SmallJoker)
- Fix srp.cpp:815 leak (est31)
- Fixed minimap memory leak (Břetislav Štec)
- Android: Fix minor makefile bugs (est31)
- src/network/connection.h: Fix race condition (Břetislav Štec)
- src/environment.cpp: Fix NULL pointer dereference (Břetislav Štec)
- Improve accuracy and safety of float serialization (kwolekr)
- src/client.cpp: Fix mapper memory leak (Břetislav Štec)
- src/wieldmesh.cpp: Fix mesh extrusion memory leak (Břetislav Štec)
- Android: fix sound issue, and gitignore (est31)
- src/client/tile.cpp: Fix reference counting (Břetislav Štec)
- Fix "bouncy" blocks (Miner59)
- src/util/numeric.{cpp,h}: Fix FacePositionCache data race (Břetislav Štec)
- Fix tiling issues for PLANTLIKE and FIRELIKE with FSAA (RealBadAngel)
- connection: Make assertions non-fatal for received data (kwolekr)
- Fix critical vulnerabilities and bugs with NetworkPacket (kwolekr)
- Fix BufferedPacket race condition (fixes #2983) (kwolekr)
- Fix detection of sneaking node This fixes bug 1551 (gregorycu)
- Fix camera updates being toggled by N key in release mode (#2762) (Kahrl)
- Fix segfaults caused by the Environment not being initialized yet (rubenwardy)
- Display Lua memory usage at the time of Out-of-Memory error (kwolekr)
- Make NetworkPacket respect serialized string size limits (kwolekr)
- Fix intlGUIEditBox leak and uninitialized value in Mapper (reported by valgrind) (Kahrl)
- Fix Lua PcgRandom (est31)
- Fix segfault caused by a8e238ed06ee8285ed4459e9deda3117419837f6 (Perttu Ahola)
- Fix sneaking (fixes #665 and #3045) (BlockMen)
- Rollback: Fail on bad precondition instead of causing assertion error (kwolekr)
- Fix inventory replace bug (est31)
- Fix indianred and indigo of color-string (Rui)
- Optimizations (multiple)
Modding
- Add mod.conf file support - allows mods to specify a mod name for now (kaeza)
- Add find_nodes_in_area_under_air (nerzhul, Zeno)
- Add core.register_schematic() and cache schematics on use (kwolekr)
- Schematics: Reorganize (de)serialization and add Lua serialization API (kwolekr)
- Add minetest.global_exists() (ShadowNinja)
- Fix pathfinder to produce more useful paths (obneq)
- Add core.find_nodes_with_meta() script API (kwolekr)
- Schematics: Add per-node force placement option (kwolekr)
- is_player() is no player-only function (est31)
- Add code to support raillike group names (Novatux)
- Add get and set functions for the nametag color (TeTpaAka)
- Add minetest.register_on_punchplayer (Brandon)
- Schematics: Fix probability values for .mts version 1 (kwolekr)
- Add core.mkdir (ShadowNinja)
- Add core.request_insecure_environment() (ShadowNinja)
- Add core.get_dir_list (ShadowNinja)
- SAPI: Accept either ARGB8 table or ColorString to specify colors (kwolekr)
- Add some missing getter functions to the lua API (TeTpaAka)
- Decrease minetest.after globalstep lag (HybridDog)
- Add return list of individual counts to find_node_in_area (TeTpaAka)
- Add minetest.register_on_player_hpchange (TeTpaAka)
- Add list-rings (est31)
- Add Lua errors to error dialog (rubenwardy)
- Biome API decorations: 'spawnby' searches a 3D neighbourhood (paramat)
- Make acc and vel deprecated in add_particle and search for acceleration and velocity instead (TeTpaAka)
- Added get_player_velocity() method. Fixes #1176 (Elia Argentieri)
- Allow random menu images for games (sfan5)
- Document game main menu image system (est31)
- Add AreaStore data structure (est31)
- Actually document what minetest.is_protected should do (est31)
- SAPI: Track last executed mod and include in error messages (kwolekr)
Mapgen
- Mgv5: Remove blobgen. Remove crumble and wetness noises (paramat)
- Biome API: Re-calculate biome at every surface in a mapchunk column (paramat)
- Mgv6: Add heightmap. Do not make large caves that are entirely above ground (paramat)
- Cavegen, mgv5: Cleanup code (paramat)
- Fix memory leak in MapgenV6 (Zeno)
- Biome API: Enable decorations
- Mgv5/mgv7: Add desert temples if desert stone detected in mapchunk (paramat)
- mg_decoration: Raise highest allowed deco top to max edge of voxelmanip (paramat)placed on water (paramat)
- Mgv6: Remove addDirtGravelBlobs, replaced by blob ore in Minetest Game (paramat)
- Mgv5/mgv7: Sprinkle dust from full_node_max.Y if chunk above is generated (paramat)
- Mgv7: 1 up , 1 down overgeneration for chunk border continuity (paramat)
- lua_api/l_mapgen: generate_ores/decorations: make p1, p2 optional (paramat)
- ObjDefManager, Mapgen SAPI: Huge refactoring (kwolekr)
- Treegen: Add pine tree. Force place trunks (paramat)
- Mgv6: Add optional snow biomes (paramat)
- Mgv6: Fix taiga, allow pine tree spawning on snowblocks (paramat)
- Mgv5/v7: Add check for water for deciding biome node stability (paramat)
- Mgv5: Fix above/below ground spawn when water level is altered (paramat)
- Biome API: Add biome-specific river water (paramat)
- Noise: Correct noise objects created with invalid dimensions (kwolekr)
- Ore: Add biomes parameter (kwolekr)
- Noise: Add noise unittests (kwolekr)
- Mapgen v5/6/7: Cleanup node resolver and aliases (paramat)
- Noise: Make buffer size parameters unsigned (kwolekr)
- Mapgen v5/v7: Detect sandstone, enable sandstone brick dungeons (paramat)
- SAPI/Noise: Add PerlinNoiseMap:getMapSlice() function (kwolekr)
- Mgv5/v7: Fix generateBiomes biome recalculation logic Biomegen down to y = -192 for mgv5 deep oceans. Improve code (paramat)
- Biome API, mgv7: Increase heat/humidity spreads. Improve mgv7 noise parameters (paramat)
- Mgv6: Enable snowbiomes by default. Double biome noise spread. 3 octaves, 0.5 persistence for humidity (paramat)
- Mgv5/mgv7: Trigger biome recalculation at underwater surfaces (paramat)
- Minimal: Edit mapgen aliases. Use blob ore for clay, update other ores. Update simple biomes. Cleanup code (paramat)
- Minimal: Add snow biome and jungleleaves nodes. Add mapgen aliases (paramat)
- Biome API: Enable biome generation to lower world limit (paramat)
- Mgv6: Don't create air gap in tundra at y = 48 in custom high terrain (paramat)
- Biome API: Add noise defined biome blend (paramat)
- Mapgen objects: Enable heatmap and humidmap for all biome api mapgens (paramat)
- Mgv7: Edit noise parameters. Fewer octaves, larger spreads. (paramat)
- Mgv5/mgv7 caves: Remove sand found in underground tunnels (paramat)
- Biome API: Increase heat and humidity noise spreads to 1000 (paramat)
- Cavegen: Cleanup code. Define constant for MGV7_LAVA_DEPTH (paramat)
- Mgv7: Lower base of mountain generation to -112 and define constant (paramat)
- Mgv7: Auto-set lowest mountain generation level (paramat)
- Cavegen: Mgv6: No small caves entirely above ground (paramat)
- Mgv7: Use density noise + density gradient for mountain terrain (paramat)
- Treegen: Rename pine tree mapgen alias (paramat)
- Biome API: Make fallback biome stone and water, disable filler (paramat)
- Cavegen V6: Make all caves consistent with 0.4.12 stable (paramat)
Other / Misc
- Start adding utf-8 support (est31, Ilya Zhuravlev)
- Unit tests must be done at integration process. (nerzhul)
- Improve FindIrrlicht.cmake module (Markus Koschany)
- Rename --do-unittests to --run-unittests as @Zeno- and @sfan5 requested (nerzhul)
- Clean up database API and save the local map on an interval (ShadowNinja)
- Don't start a server for map migration (ShadowNinja)
- Dungeongen: Optionally set ignore to be untouchable to disable floating dungeons (paramat)
- Finer progress bar updates when initializing nodes (est31)
- Minor cleanup: game.cpp (Zeno)
- Add support for the PCG32 PRNG algo (and associated script APIs) (kwolekr)
- Change filename of screenshots to something more human readable (Zeno)
- Clean scaling pre-filter for formspec/HUD. (Aaron Suen)
- Remove errorstream logging on password change (est31)
- Add reason to kicked log message and use present tense (est31)
- RotateAlongYAxis: For facedir case, return if param2 >= 4 (paramat)
- Change lower limit of display_gamma to 1.0 (linear light) (Zeno)
- More reliable serverlist behaviour (HybridDog)
- Close keybind settings menu with esc (est31)
- Disable mesh cache by default (est31)
- Set server_announce to world.mt and respect modes when changing game (Sokomine)
- Use minetest logging facilities for irrlicht log output (ShadowNinja)
- Display an access denied message when client detects a server timeout (Kahrl)
- Change texture pack description file name (ExcaliburZero)
- Refactor particle code to remove the while loops (TeTpaAka)
- MoveItemSomewhere double bugfix (est31)
- Remove profiler.h include where it's not needed. Remove some unreachable and very old code (nerzhul)
- Ask auth handler to create auth when a default password is set (est31)
- Optional reconnect functionality (est31)
- Fix documentation of dedicated_server_loop (est31)
- Remove drivers dropdown in the settings tab (kilbith)
- Cleanup server addparticle(spawner) by merge two identical functions. (nerzhul)
- Precalculate mapblock relative size. This permit to remove many s16 calculs on runtime (nerzhul)
- Android: Add githash header to spare rebuilds after new commits (est31)
- Prepend "Lua: " before lua exceptions src/server.cpp src/emerge.cpp (Břetislav Štec)
- Improve Script CPP API diagnostics (kwolekr)
- Initialize random for verification key generation too (est31)
- game.cpp: Update cached settings (est31)
- SAPI: Disable unlockable time profiling (kwolekr)
- Client: disable mmdb modstore (est31)
0.4.11 → 0.4.12
0.4.12 was released on February 18, 2015.
New features
- Add player direction to debug text (yamanq)
- Reorganized client and server tabs (kilbith)
- Implemented DPI automatic detection on X11 (sapier)
Map generation
v5:
- Caves check for biome nodes, only excavate stone under water level (paramat)
- Unease caves noises, use 0.3.x parameters (paramat)
- Blobgen after cavegen (paramat)
- Biomegen: remove “is replaceable content” bool (paramat)
Tweaks
- Increased step height on Android (sapier)
- Increased default
font_size
(BlockMen) - Improved minetest.desktop, added German and French text to minetest.desktop (nerzhul)
- More consistent progress bar (sapier)
Bug fixes
- Fixed font_size under Windows (BlockMen)
- Ignored old entities from 0.3 (Novatux)
- Fixed FTBFS on GNU/Hurd platform (apoleon)
- Modified Y positioning of health/breath statbars to prevent overlapping with hotbar (kwolekr)
- Fixed memory leaks related to gettext (ShadowNinja)
- Give full breath after death (SmallJoker)
- Fix
NDT_GLASSLIKE
normals (kahrl) - Water flowing fixes (gregorycu)
- Compiler tweaks and warning fixes (ShadowNinja, kwolekr)
- Fix imprecise serialization of large numbers (ShadowNinja)
- Fix performance regression (Zeno-)
- Fix getCraftRecipe returning wrong recipes (sapier)
- Fix unused (and so, broken) enable_rollback_recording. (nerzhul)
- Fix .zip extraction (mod store) (ngosang)
- Fix translation memory leak (ShadowNinja)
- Fix F7 crash (nerzhul)
- Fixes to default screenshots in mainmenu (Rui914)
- Fix map_seed not changed when creating a new world after login to another (fz72)
- Add modname convention checking, fixes issues with mod enabling (est31, Novatux)
- Fix problems related to still receiving damage after dying (SmallJoker, gregorycu)
- Add
vein
andblob
ore type (kwolekr) - Change assignment to global in a function to warning (rubenwardy)
Vanilla game changes (minetest_game)
Gameplay
- Mossy cobblestone can now be smelted to stone (MT-Modder)
- Added straw, crafted with 9 wheat (kilbith)
- Added obsidian and obsidian brick stairs and slabs (CraigyDavi)
Visuals
- Many new textures renewed (kilbith)
- Changed furnace fire icons (Kalabasa)
- Added fancy inventory for bones (CraigyDavi)
Master server (server list)
- Announce MIN/MAX protocol version to server list (est31)