0
0
mirror of https://github.com/pmmp/PocketMine-MP.git synced 2024-11-21 16:35:25 +00:00
PocketMine-MP/changelogs/3.11.md
2020-04-14 02:54:40 +01:00

6.4 KiB

For Minecraft: Bedrock Edition 1.14.0

Note about API versions

Plugins which don't touch the protocol and compatible with any previous 3.x.y version will also run on these releases and do not need API bumps. Plugin developers should only update their required API to this version if you need the changes in this build.

WARNING: If your plugin uses the protocol, you're not shielded by API change constraints. You should consider using the mcpe-protocol directive in plugin.yml as a constraint if you do.

3.11.0

  • Added support for Minecraft: Bedrock Edition 1.14.0
  • Removed compatibility with 1.13.0

3.11.1

  • Fixed blocks with incorrect properties when placed or interacted with.

3.11.2

Core

  • PHPStan 0.12.3 with level 5 is now used for automated static analysis.
  • Fixed a possible crash when plugins override the EnderChest tile class with something incompatible.
  • Fixed disconnected players being considered as never played.
  • Fixed enchantments with IDs outside the range 0-255 in item NBT crashing the server.
  • Fixed particles rendering incorrectly.
  • Timings handlers are no longer able to underflow; they now throw exceptions when attempting to be stopped more times than they were started.
  • Fixed explosion rays getting stuck in empty subchunks (possible incorrect behaviour in large caves).
  • Fixed bad tile/entity NBT data being propagated from world providers in some cases.
  • Fixed a possible crash when detecting timezone on CentOS.
  • Fixed many cases of incorrectly documented types in the API found by PHPStan.
  • Generation tasks no longer assume that generator instances stored in TLS are always valid, fixing a possible crash.

Protocol

  • Fixed skin animation image corruption in LoginPacket handling caused by incorrect data handling.
  • Fixed skin animation extra data not being decoded from LoginPacket.
  • SkinImage now throws InvalidArgumentException if it receives an unexpected amount of bytes for the given image heigh/width.
  • Fixed broken code in PlayerAuthInputPacket::create().
  • Removed some dead constants from NetworkInventoryAction.

3.11.3

  • Fixed some PHPStan false-positives in release builds.
  • Git hash is now correctly detected for source builds when the working directory is not the repository root.
  • Added a specialized build script build/server-phar.php for creating server phars.
  • Fixed timings crashing the server.
  • Timings chains now work correctly.
  • Fixed some minor timing errors in chained timings.
  • Forcing resource packs no longer causes removal of client-sided resource packs. If this behaviour is desired, use a vanilla resource pack at the bottom of your resource stack (as was necessary for non-forced packs).
  • Added documentation to the API to clarify that effect durations are in ticks.

3.11.4

  • Fixed performance issue in leaf decay.
  • Fixed entity position desync when entities stop moving, but still have velocity on the client.
  • Fixed a crash when encountering truncated level.dat files in LevelDB worlds.
  • Core code is now analyzed using PHPStan level 6.
  • The core constants pocketmine\PATH and pocketmine\RESOURCE_PATH are now unconditionally available when including the Composer autoloader.
  • Populate type information in lots of places where it was previously missing; this will improve the quality of static analysis for plugins.
  • MainLogger::logException() now logs previous exceptions recursively.
  • MainLogger::logException() now always logs exceptions as critical.

3.11.5

  • PHPStan and PHPUnit are now managed as Composer dev dependencies.
  • Core code is now analyzed using PHPStan level 6 (full, including iterable types checking).
  • Improved type information available to PHPStan in many areas.
  • Mass-removal of useless PHPDoc.
  • Fixed incorrect documentation of Internet::getURL(), Internet::postURL() and Internet::simpleCurl().
  • Fixed crash on use of case-mismatched recursive command aliases.
  • Basic build instructions are now provided in BUILDING.md.
  • build/server-phar.php now uses GZIP compression on created phars, providing a 75% size reduction.
  • ClientboundMapItemDataPacket now uses MapDecoration objects for decorations instead of associative arrays.
  • Updated Composer dependencies to get bug fixes in pocketmine/nbt and other libraries.
  • Packages pocketmine/classloader and pocketmine/log are now required; these provide classes previously part of pocketmine/spl. This change has no effect on API compatibility.

3.11.6

  • Core code, tests and build scripts are now analyzed using phpstan-strict-rules and phpstan-phpunit rules.
  • Added more PHPStan-specific type annotations to improve static analysis.
  • Fixed more incorrect PHPDoc types.
  • Added a workaround for player movement not working since 1.14.30.
  • Fixed lava and water buckets being edible since 1.13.
  • AutoUpdater is now created before any plugins are loaded.
  • Fixed trees not generating below y=2 in custom generators.
  • Fixed crash when opening a chest improperly unpaired from its pair (destroyed, setBlock(), unloaded, etc.).
  • ThreadManager is now lazily initialized.
  • Removed raw NBT storage from Item internals. The following methods are now deprecated:
    • Item::setCompoundTag()

3.11.7

  • Build system: Fixed crash reports of Jenkins builds being rejected by the crash archive as invalid.
  • Introduced a new dependency on pocketmine/log-pthreads, which contains classes separated from pocketmine/log.
  • Fixed minimum composer stability preventing any newer version of pocketmine/pocketmine-mp being installed than 3.3.4 by replacing daverandom/callback-validator with pocketmine/callback-validator.
  • Fixed every player seeing eating particles when any player eats.
  • Fixed setting held item not working during BlockBreakEvent, PlayerInteractEvent and EntityDamageEvent.
  • Fixed some incorrect documented types in PlayerQuitEvent reported by PHPStan.
  • Fixed documentation of Item->pop() return value.
  • Fixed server crash on encountering corrupted compressed data stored in region files.
  • Protocol: Split screen header is now properly accounted for during decoding. Note that split screen is still not supported natively, but their packets can be decoded properly now.
  • Protocol: Fixed wrong order of fields in UpdateTradePacket.
  • Protocol: Fixed loss of fullSkinId when decoding network skins.
  • Fixed RCON not being able to bind to port after a fast server restart.