Dylan K. Taylor 26aee7ff73
Release 4.2.6
2022-04-01 23:01:15 +01:00

3.9 KiB

For Minecraft: Bedrock Edition 1.18.10

Note about API versions

Plugins which don't touch the protocol and compatible with any previous 4.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.

4.2.0

  • Added support for Minecraft: Bedrock Edition 1.18.10.

4.2.1

Released 19th February 2022.

General

  • Improved performance of Item::nbtSerialize() - this will improve performance during world saves.
  • Added more missing changes to the 4.0.0 changelog.

Fixes

  • Fixed multiple players being able to sleep in the same bed.
  • Fixed hitbox not resetting properly after swimming or gliding.

4.2.2

Released 2nd March 2022.

Fixes

  • Fixed crash in /dumpmemory due to usage of non-printable string keys in CraftingManager. Array contents in memory dumps are now rendered as prettified key-value pairs.
  • Fixed output directory for /dumpmemory.
  • PlayerInventory->isHotbarSlot() now correctly returns false when given 9.
  • Fixed ghost items left in the inventory when dropping tools while mining.

4.2.3

Released 9th March 2022.

Technical

  • Now analysed using PHPStan 1.4.8.
  • Now using pocketmine/bedrock-protocol 8.0.1.

Fixes

Core

  • Fixed a memory leak and other bugs related to plugins disabling themselves during onEnable().

Gameplay

  • Sweet berry bushes now absorb fall damage.
  • Fixed mycelium spreading onto coarse dirt.
  • Fixed blocks placed during Block->onIncinerate() getting overwritten.
  • Fixed shulker boxes being unopenable when underwater.
  • Fixed invisible fire on top of transparent non-flammable blocks.

API

  • Various APIs accepting Vector3, Position or Location no longer accept objects containing INF or NaN in any component. Previously, this was allowed, but would cause lots of obscure crashes later on.
  • Entity->setRotation() no longer accepts INF or NaN.
  • Fixed missing bounds check for ItemFrame->setItemDropChance().

4.2.4

Released 18th March 2022.

Fixes

  • Fixed a crash when handling out-of-bounds meta values on the network.

4.2.5

Released 28th March 2022.

General

  • The layout of the human-readable part of crashdumps has been changed in an effort to improve the useful information density. It is hoped that this change will cause more useful information to be provided when people paste crash traces on Discord, since all the most important information is now at the top of the file.
    • Version, git hash, PHP version and OS have been moved to the top of the crashdump.
    • Backtrace has been moved above code sample.
  • Docker images are now built by GitHub Actions (first live test).

Technical

  • The methods of Inventory and BaseInventory have been rearranged to improve coherency.

Fixes

API

  • Enum members of enums created using EnumTrait are now able to have single-character names.
  • Registry members of registries created using RegistryTrait or CloningRegistryTrait now have their names checked for invalid characters.
  • Entity::__construct() now uses a guard variable to prevent it from being called multiple times unintentionally. This is necessary because Entity::__construct() has side effects.
  • Fixed PlayerItemHeldEvent not being called when the content of the held slot was changed (e.g. replacing the held item via inventory menu).

Gameplay

  • Reduced the appearance of ghost items in unsupported gameplay scenarios using client prediction information. This fixes, for example, the appearance of ghost items when right-clicking on a filled flower pot.

4.2.6

Released 1st April 2022.

Fixes

  • Fixed buffer length underflow crash in LoginPacket handling.