MinedMap/CHANGELOG.md

178 lines
6.4 KiB
Markdown
Raw Normal View History

2023-09-30 10:08:49 +02:00
<!-- next-header -->
## [Unreleased] - ReleaseDate
### Added
2025-02-13 19:56:19 +01:00
- 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 to `30s`; 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 the `jemalloc` 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
2025-01-11 01:54:53 +01:00
## [2.4.0] - 2025-01-11
### Added
2025-01-11 01:51:35 +01:00
- Added support for rendering tiles in WebP format using the `--image-format` option
2025-01-06 21:25:29 +01:00
## [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.
2025-01-02 13:42:11 +01:00
## [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
2024-12-31 03:54:45 +01:00
- viewer: added images for pale oak signs
2024-06-23 11:31:45 +02:00
## [2.2.0] - 2024-06-23
### Added
- Added support for Minecraft 1.21 block types
2024-06-14 16:31:18 +02:00
## [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.
2024-01-27 14:16:03 +01:00
## [2.1.0] - 2024-01-27
2024-01-11 00:02:25 +01:00
### Added
- Added sign layer
This feature is disabled by default. Use the `--sign-prefix` and `--sign-filter` options to
2024-01-27 14:08:42 +01:00
configure which signs to show on the map. `--sign-transform` allows to modify the displayed
sign text.
2024-01-11 00:02:25 +01:00
### 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.
2024-01-07 22:28:53 +01:00
## [2.0.2] - 2024-01-07
### Added
2024-01-07 22:14:35 +01:00
- Added support for Minecraft 1.20.3+
Minecraft 1.20.3 renamed the `grass` block type to `short_grass`.
### Changed
2024-01-07 22:14:35 +01:00
- Updated [Leaflet](https://leafletjs.com/) to 1.9.4
- Updated attribution URL to https://github.com/neocturne/MinedMap
2023-11-18 19:06:25 +01:00
## [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
2023-09-30 16:53:07 +02:00
## [2.0.0] - 2023-09-30
2023-09-30 10:08:49 +02:00
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 new `processed` directory. The `biome` 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.
<!-- next-url -->
2025-01-11 01:54:53 +01:00
[Unreleased]: https://github.com/neocturne/MinedMap/compare/v2.4.0...HEAD
[2.4.0]: https://github.com/neocturne/MinedMap/compare/v2.3.1...v2.4.0
2025-01-06 21:25:29 +01:00
[2.3.1]: https://github.com/neocturne/MinedMap/compare/v2.3.0...v2.3.1
2025-01-02 13:42:11 +01:00
[2.3.0]: https://github.com/neocturne/MinedMap/compare/v2.2.0...v2.3.0
2024-06-23 11:31:45 +02:00
[2.2.0]: https://github.com/neocturne/MinedMap/compare/v2.1.1...v2.2.0
2024-06-14 16:31:18 +02:00
[2.1.1]: https://github.com/neocturne/MinedMap/compare/v2.1.0...v2.1.1
2024-01-27 14:16:03 +01:00
[2.1.0]: https://github.com/neocturne/MinedMap/compare/v2.0.2...v2.1.0
2024-01-07 22:28:53 +01:00
[2.0.2]: https://github.com/neocturne/MinedMap/compare/v2.0.1...v2.0.2
2023-11-18 19:06:25 +01:00
[2.0.1]: https://github.com/neocturne/MinedMap/compare/v2.0.0...v2.0.1
2024-01-07 22:08:55 +01:00
[2.0.0]: https://github.com/neocturne/MinedMap/compare/v1.19.1...v2.0.0