6.4 KiB
Unreleased - ReleaseDate
Added
-
Added experimental watch mode
Passing
--watch
will cause MinedMap to run continuously instead of exiting after map generation, regenerating tiles whenever they change.--watch-delay
can be used to configure the delay between detecting a change and runing the map generation, also limiting how often the regeneration happens. This defaults to30s
; significantly smaller values probably don't make sense because Minecraft writes out changes in batches anyways.Finally,
--jobs-initial
can be used to configure the number of parallel generation threads for the initial cycle separately from the value used for subsequent cycles after a change is detected (-j
/--jobs
). Subsequent cycles usually need to regenerate only a small number of tiles, so setting--jobs
to a smaller value than--jobs-initial
may be advantageous. -
Added jemalloc support to fix performace on musl targets
The global allocator can be switched to jemalloc by enabling the
jemalloc
cargo feature now. This is not the default because it is not always faster than the default system allocator; in particular, the glibc allocator has slightly better performance in multithreaded mode. In addition, jemalloc uses a bit more memory.In addition, the
jemalloc-auto
feature has been introduced, which is enabled by default and sets the global allocator to jemalloc on platforms where it is clearly advantageous. For now, this is only done on musl-based targets, as musl's default allocator is very slow in multithreaded operation (which was making higher thread counts like-j8
basically useless due to 7-8x slowdowns). With the new default, performance on musl is basically identical to glibc.Note that some platforms like
msvc
are unsupported by jemalloc, and trying to enable thejemalloc
feature on these platforms may break the MinedMap build or cause issues at runtime.
Changed
- Unknown biome types (from not yet supported or modded versions of Minecraft) will now use plains biome colors as a fallback instead of resulting in water, grass and foliage blocks to be rendered as transparent pixels
2.4.0 - 2025-01-11
Added
- Added support for rendering tiles in WebP format using the
--image-format
option
2.3.1 - 2025-01-06
Fixed
- Fix text colors for signs modified using dye
- Fix text colors specified using
#rrggbb
CSS syntax in JSON text
Only named colors specified via JSON text were working as intended.
The mapping of color names to values is now handled by the generator. Both the generator and the viewer must be updated for sign text colors to work.
2.3.0 - 2025-01-02
Added
- Added support for Minecraft 1.21.4 block types
- Added support for Minecraft 1.21.4 Pale Garden biome
- viewer: added images for pale oak signs
2.2.0 - 2024-06-23
Added
- Added support for Minecraft 1.21 block types
2.1.1 - 2024-06-14
Fixed
-
Fix crash due to incorrect counting in info message
The calculation of the number of skipped regions could underflow when more invalid than valid regions were encountered.
-
Ignore empty region files instead of treating them as invalid
Minecraft generates empty region files in some cases. Just ignore them instead of printing an error message every time.
2.1.0 - 2024-01-27
Added
-
Added sign layer
This feature is disabled by default. Use the
--sign-prefix
and--sign-filter
options to configure which signs to show on the map.--sign-transform
allows to modify the displayed sign text.
Changed
- Without
--verbose
, only a single warning is printed at the end of processing for unknown block/biome types, rather than once for every section where such a block/biome is encountered.
2.0.2 - 2024-01-07
Added
-
Added support for Minecraft 1.20.3+
Minecraft 1.20.3 renamed the
grass
block type toshort_grass
.
Changed
- Updated Leaflet to 1.9.4
- Updated attribution URL to https://github.com/neocturne/MinedMap
2.0.1 - 2023-11-18
Fixed
- Proceed with missing tiles rather can failing completely when an invalid region file is encountered and no processed data from a previous run exists
2.0.0 - 2023-09-30
This is a complete rewrite of the map renderer in Rust, as the previous C++ implementation was getting more and more difficult to maintain and keep current versions of Minecraft supported.
The new implementation is generally faster than the old one (by using better data structures), but it also uses a bit more RAM and storage space for intermediate data.
Added
- Added support for Minecraft 1.20 biomes and block types
- Multithreading: Pass
-j N
to minedmap to use N CPU cores in parallel. Note that this also multiplies the RAM requirements of MinedMap. - Extended OS support: MinedMap should now run on every system supported by Rust as a target. As I don't have a way to test these builds, binary releases are still limited to Windows and Linux for now; on other targets, MinedMap must be built from source.
Changed
- Biome smoothing uses a different filter kernel now, which might result in nicer gradients?
- Log messages have been reduced. Pass
-v
to get a message for each processed file again. - The intermediate data directory
biome
in the output directory has been replaced with a newprocessed
directory. Thebiome
directory can be deleted when reusing the output directory of an older MinedMap version.
Fixed
-
Warnings about unknown biomes or block types have been reduced to once per chunk/section, so rending is not slowed down by these message so much anymore.
Full support for custom biomes datapacks might be added in a future release.