From 9338d427429393f701f2b506178434cf46ed5023 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Thu, 25 Nov 2021 00:40:40 +0000 Subject: [PATCH] Release 4.0.0-BETA13 --- changelogs/4.0.md | 39 ++++++++++++++++++++++++++++++++++++++- src/VersionInfo.php | 2 +- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/changelogs/4.0.md b/changelogs/4.0.md index 12fa5c9a6..c7038c96c 100644 --- a/changelogs/4.0.md +++ b/changelogs/4.0.md @@ -1710,4 +1710,41 @@ Released 9th November 2021. ### Server - Added the following API methods: - `Server->getIpV6()` - - `Server->getPortV6()` \ No newline at end of file + - `Server->getPortV6()` + +# 4.0.0-BETA13 +Released 25th November 2021. + +## General +- Improved error messages when a plugin command name or alias contains an illegal character. +- Fixed script plugins reading tags from non-docblocks before the actual docblock. +- Added a sanity check to `Human->setCurrentTotalXp()` to try and catch an elusive bug that's been appearing in the wild - please get in touch if you know how to reproduce it! +- Updated `BUILDING.md` to reflect the fact that submodules are no longer required to build or run the server. + +## Internals +- Crashdump rendering has been separated from crashdump data generation. This allows rendering crashdumps from existing JSON data. +- Direct iteration of arrays with string keys is now disallowed by a custom PHPStan rule. This is because numeric strings are casted to integers when used as array keys, which produces a variety of unexpected behaviour particularly for iteration. + - To iterate on arrays with string keys, `Utils::stringifyKeys()` must now be used. + +## Fixes +- Fixed various crashes involving bad entity data saved on disk (e.g. an item entity with invalid item would crash the server). +- Fixed various crashes involving arrays with numeric string keys. +- Fixed crash when players try to pickup XP while already having max XP. +- Fixed ungenerated chunks saved on disk by old versions of PocketMine-MP (before 3.0.0) being treated as corrupted during world conversion (they are now ignored instead). +- Fixed misleading corruption error message when saved chunks have missing NBT tags. + +## Gameplay +- Fixed `/setworldspawn` setting incorrect positions based on player position when in negative coordinates. +- `/setworldspawn` now accepts relative coordinates when used as a player. +- Added some extra aliases for `/give` and `/clear`: `chipped_anvil`, `coarse_dirt`, `damaged_anvil`, `dark_oak_standing_sign`, `jungle_wood_stairs`, `jungle_wooden_stairs` and `oak_standing_sign`. + - Some of these were added for quality-of-life, others were added just to be consistent. +- Fixed explosions dropping incorrect items when destroying blocks with tile data (e.g. banners, beds). +- Fixed the bounding box of skulls when mounted on a wall. +- Fixed podzol dropping itself when mined (instead of dirt). + +## API +### Entity +- `Projectile->move()` is now protected, like its parent. + +### Utils +- `Utils::parseDocComment()` now allows `-` in tag names. diff --git a/src/VersionInfo.php b/src/VersionInfo.php index ee4366762..f4c221c3f 100644 --- a/src/VersionInfo.php +++ b/src/VersionInfo.php @@ -30,7 +30,7 @@ use function str_repeat; final class VersionInfo{ public const NAME = "PocketMine-MP"; public const BASE_VERSION = "4.0.0-BETA13"; - public const IS_DEVELOPMENT_BUILD = true; + public const IS_DEVELOPMENT_BUILD = false; public const BUILD_NUMBER = 0; public const BUILD_CHANNEL = "beta";