0
0
mirror of https://github.com/pmmp/PocketMine-MP.git synced 2024-11-21 17:45:20 +00:00
PocketMine-MP/changelogs/3.5.md
2019-06-11 16:44:05 +01:00

10 KiB

For Minecraft: Bedrock Edition 1.8.0

Note

Plugins 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.

3.5.0

  • Compatibility with Minecraft: Bedrock Edition 1.8.0
  • Removed compatibility with 1.7.0

3.5.1

  • Fixed internal server errors when attempting to craft.
  • DataPacket errors when writing to undefined fields are now more clear.
  • Fixed trees being able to overwrite the log parts of other trees.
  • Fixed Player->sendForm() not working during PlayerJoinEvent.
  • Entity->setScale() now explicitly requires a scale larger than 0.
  • Adding invisible FloatingTextParticle to a level no longer causes an error.

3.5.2

  • Updated some misc protocol magic numbers.
  • Fixed burning TNT setting hurt entities on fire when exploding.
  • ~ relative coordinates now work in the /particle command.
  • Various boring fixes to error stack trace reporting.
  • Level->setChunk() no longer deletes tiles and entities when replacing a chunk with itself.
  • Fixed a generator race condition causing rare appearances of half-trees on the client in freshly generated terrain.
  • Attribute->resetToDefault() now fits the default per the min/max bounds, fixing crashes when the bounds are changed to exclude the default.
  • Fixed a crash with LevelDB worlds when the TAG_2D_MAPS tag is missing.
  • Fixed Utils::getCoreCount() crashing on some Debian variants.

3.5.3

  • Rewritten documentation of PlayerPreLoginEvent, PlayerLoginEvent and PlayerJoinEvent. They are now much more detailed and no longer misleading.
  • Chest items block-picked from double chests will no longer place chests that crash the server when opened.
  • Ender chests now make the correct sounds when opening and closing.
  • Fixed Sign errors when a buggy or malicious client sent broken NBT with the wrong tags or wrong number of lines.
  • Resource packs with comments in the manifest will now load correctly. (MOJANG!!!)
  • Placement of unknown blocks is now disallowed. This solves a range of problems with invalid blocks in the world, such as #2260 .
  • Errors thrown during PlayerQuitEvent or other Player->close() errors will now crash the server instead of causing cryptic bugs later on.
  • Fixed large chunks (>= 1044476 bytes) becoming corrupted when saved in Region-based worlds - now an exception is thrown instead.
  • Reduced the range of exceptions caught during chunk loading. Now, only chunk corruption errors are caught, and anything else will produce a crash.
  • Removed catch-all block on chunk saving. Unexpected errors thrown during chunk save will now create a crash.
  • Fixed some asserts in packet decode methods.
  • Attribute now throws exceptions with more informative messages on errors.
  • Properly handled some remaining Uninitialized string offset bugs when decoding packets.
  • Fixed chunk updates taking several seconds to show up on the client. This bug was most apparent during generation and some world editing tools using asynchronous tasks.
  • Fixed CPU waste ordering chunks for non-moving players.

3.5.4

Fixes

  • Fixed server crash when a block update occurs on a torch with corrupted metadata.
  • Added a hack to mitigate client-side right-click spam bug. This mostly eliminates spam of PlayerInteractEvent on right-click.
  • Players will no longer see commands they don't have permission to use in client-sided hints when typing a / in the chat window.
  • Event->isCancelled() and Event->setCancelled() now throw more informative errors.
  • Errors thrown during a network interface processing will now actually crash the server.

API changes

  • Deprecated NetworkInterfaceCrashEvent. Nobody should have been using this anyway.
  • Deprecated Network->processInterface()
  • Deprecated SourceInterface->emergencyShutdown()

3.5.5

  • Mobs no longer spawn with their heads facing a different direction to their bodies.
  • Added a console message when the crash strangler sleeps to stop crash spam.
  • Fixed crash in /title command times subcommand when not enough arguments were passed.
  • AsyncWorkers will now not be shut down on GC unless they have not been used for the last 5 minutes. This reduces lag spikes on garbage collection.
  • Fixed some unhandled error cases in AddEntityPacket encoding.
  • Fixed LogicException descendents being thrown from some packet decoding methods when encountering bad userdata.
  • Player network inventory transaction processing now catches more specific errors.
  • Fixed missing decode for TakeItemEntityPacket.
  • Fixed /gc and /status truncating memory statistics - now they report to 0.01 precision.
  • Global functions and constants are now imported to improve performance.
  • Fixed a typo in pocketmine.command.op.take description.
  • Ice no longer creates water when a creative player breaks it.
  • spawn-mobs and spawn-animals no longer appear in generated server.properties on a newly-installed server.
  • Added a hack to disable pre-spawn client-sided movement.
  • Assertions enabled warning now always shows when zend.assertions is not -1. The config option to disable this warning has been removed.
  • /status,/dumpmemory and /gc are now enabled by default. The debug.commands config option has been removed.
  • Crash dumps are now more thorough at catching plugin-related crashes.

3.5.6

  • Fixed #-commenting properties in .properties files not working.
  • pocketmine.yml now permits writing worldname: with no generation settings in the worlds section to force a world to be loaded.
  • Fixed Bow force being too low - now it's consistent with Minecraft Java (but not with Bedrock due to a vanilla bug).
  • Fixed recursion detected bug when encoding crashdumps in some cases.
  • Items with too-large NBT tags on network will now have their tags ignored when sending over network, instead of crashing the server. This is a workaround for a protocol bug which will be addressed in a future Minecraft release.
  • /enchant no longer crashes the server when out-of-bounds enchantment levels are used.
  • Fixed some crashes loading Region-based worlds when encountering unexpected EOF.
  • Entity->fireTicks is now protected (but accessible by magic method for BC purposes) and will now throw an exception when written to if the value is > 32767 or < 0.
  • Fixed Signs asserting on corrupted world data with more than 4 lines of text per sign.

3.5.7

  • Fixed several bugs in RCON packet receive that would allow an attacker to block or crash the RCON thread, denying service to other legitimate RCON clients.
  • Fixed RCON connections not working (timing out with no response) on some platforms.
  • Logins are now permitted to have up to 60 seconds clock drift on the nbf and exp timestamps in the login JWT.
  • Fixed XP orbs following players who switched to a location spatially nearby in a different world.
  • Player->removeWindow() now throws InvalidArgumentException instead of BadMethodCallException when trying to non-forcefully remove a fixed window ID.

3.5.8

  • Fixed player XP not dropping if a player was fast enough to respawn.
  • Player XP drop amount now matches vanilla (7x level points, incurs some loss of points for higher levels)
  • Fixed Doxygen configuration including test sources.
  • Improved performance of block-cache accesses.
  • Improved performance of random block-ticking.
  • Closure tasks will now show the correctly formatted name on timings.
  • Fixed a crash when a local update happens next to an ItemFrame with invalid metadata.
  • Fixed player being subscribed to broadcast permissions too early when permissions are modified before spawn.
  • Block-picking is now disallowed on unknown blocks.
  • Internal IP detection now works correctly on all platforms.
  • Fixed UPnP portforwarding not working correctly when multiple network adapters are installed.
  • Starting or stopping flight now resets fall distance and in-air ticks.
  • Fixed falling causing starvation.
  • Fixed crops consuming bone meal when fully grown.
  • Users are no longer able to avoid agreeing to the license by restarting the server.
  • Explosions no longer create broken double chests which crash the server. Existing chests affected by this bug will continue to crash. This will be addressed in a future release.
  • Cactus and sugarcane no longer grow through non-air blocks.
  • Fixed a memory leak in setChunk() when the unload parameter is true.
  • Generator will now crash if preset is invalid, instead of producing unexpected results.

3.5.9

  • Fixed a setChunk() bug introduced by 3.5.8.
  • Applied a hack to disable client-sided automatic regeneration.
  • Level->getChunkPlayers() is now deprecated.

3.5.10

  • Some internal Level functions are now correctly marked @internal.
  • Fixed splash potion distance being measured from player feet instead of eye height.
  • Fixed tall grass being unplaceable on dirt.
  • A debug message is now recorded when a chunk is loaded with no associated loaders.
  • Composer dependencies have been updated to fix bugs in some dependencies.

3.5.11

  • Fixed crashing when items with negative IDs are found in the inventory (caused by downgrading from dev builds).
  • Updated creative inventory and crafting recipes.

3.5.12

  • Fixed crash when too-large values are given to /effect for duration.
  • /op and other commands no longer crash when an invalid player name is given.
  • Startup time no longer includes the time spent in the setup wizard.
  • TextFormat::clean() is now UTF-8 aware, and will scrub any invalid UTF-8 characters from the given string.
  • Fixed TextFormat::clean() not fully removing ANSI escape codes in some cases.
  • Fixed Korean command arguments failing to parse.
  • Sign->setText() and Sign->setLine() now enforce that the given text must be UTF-8 text, or an exception will be thrown.
  • Sign text is now processed by mb_scrub() immediately after loading to remove invalid UTF-8 characters that could crash the client.
  • Human->exhaust() no longer underflows when the hunger attribute has a fractional value.

3.5.13

  • Added a hack to disable client sided AI for non-moving entities. This fixes items floating in water despite it not being implemented server-side yet.
  • Fixed max health not working as expected on respawn if changed by plugins.
  • Fixed Item Frame hardness (0.25 instead of 0).
  • Fire Aspect tools will now light TNT when right-clicked with.
  • Fixed incorrect nullable typehints on TaskScheduler return values.