Adds support for Minecraft 1.15, 1.15.1 and 1.15.2
Important fixes for compatibility with FAWE, EpicWorldGenerator, SlimeWorldManager and older versions of (Paper)Spigot
Performance improvements and fixes for ItemFrame MapDisplay logic
Completely rewritten YAML engine that saves asynchronously and handles partial content updates better
Entity controller fixes, fixing entities disappearing on server shutdown
New Octree implementation, for mapping many objects to positions and querying cuboid areas
Compatibility
[Added] Support for Minecraft 1.15, 1.15.1 and 1.15.2
[Changed] Only hook ChunkGenerator when CreaturePreSpawnEvent is used, and when the chunk generator class is not final (fixes incompatibility with EpicWorldGenerator) [BKCommonLib Issue #75]
[Fixed] incompatibility with newer version of FastAsyncWorldEdit due to their custom class loader
[Fixed] Missing entity remove queue field error on paperspigot 1.8.8 and earlier
[Fixed] Added several entities to the entity category lists that were missing (affected MyWorlds world spawn rules)
[Fixed] Incorrect EntityShulker template field declarations causing errors for some versions of Minecraft
[Added] Safety net for if ProtocolLib has a linkage error to avoid complete breakage
[Fixed] Missing ChunkProviderServer cast in getChunkIfLoaded template for some versions of 1.13.2
[Improved] Packets were sometimes skipping packet monitors on PaperSpigot+ProtocolLib, causing seat entering glitches in TrainCarts
[Improved] Multiple passengers were supported since 1.9, but Bukkit only added full working support since 1.11.2. Now the entire range of versions is supported.
[Fixed] EntityTrackerEntry field in Entity on PaperSpigot was not updated when a custom network controller was set, causing strange errors [TrainCarts Issue #321]
[Fixed] EntityRemoveFromServer event was firing when entities teleported between worlds on 1.14 and later
[Added] Support for changes done by TacoSpigot server fork
[Fixed] Heightmap on 1.12.2 and earlier used an incorrect 2 block offset, causing glitches in LightCleaner
[Fixed] MapDisplay createItem was not storing MapId metadata in item, causing crash with SlimeWorldManager [Maplands Issue #21]
[Fixed] Players twitching when standing on the edge of a block controlling a map display
[Improved] Performance of Map Display ItemFrame tracking much better, no longer causes chunk loads, with a config option to turn it off entirely if unused [BKCommonLib Issue #83]
[Fixed] Several glitches with the Map Display ItemFrame clustering (large displays) not initializing correctly
[Improved] Map Display no longer re-initializes when resized without active viewers, improving performance
[Added] Map Canvas function to save the pixels as an indexed buffered image (gif)
Other
[Fixed] Several network synchronization glitches when players or entities teleport between worlds or (re)spawn
[Fixed] Slabs, planks and some other materials not parsable by name
[Added] Support for spawning entities using CommonEntity that lack a world-coords constructor
[Added] Hastebin utility class for uploading/downloading text data, with special support for stream compression
[Added] Extra safeguard against server crash when a plugin implementing PlayerFileData hook throws an error
[Fixed] NullPointerException in DataWatcher when watched items are empty
[Fixed] Quaternion rotateYawPitchRoll Vector function having x and y coordinates swapped
[Fixed] Errors occurring when an entity network controller was detached
[Added] Octree and DoubleOctree implementations for mapping to point cloud data
[Fixed] Start AsyncTask threads with daemon=true to prevent the server stalling if a task isn't terminated on shutdown
[Added] Debug utility logStackTraceAsynchronously to debug hangs on plugin enable/disable
[Added] DataWatcher getFlag and setFlag functions for byte mask manipulations
[Fixed] Made ResourceKey name format error handling more consistent
[Added] Fail earlier with exceptions rather than silently when setting invalid entity types in spawn packets [TrainCarts Issue #311]
[Fixed] Preserve chat formatting characters at the end of a message when storing in a ChatText object
[Added] New YAML implementation that allows for more efficient saving, writes to file asynchronously, speeding up autosave in plugins
[Added] Function to write text to files asynchronously with a callback to know when writing finishes
[Added] YAML can now parse ItemStack data saved on future versions of Minecraft
[Improved] Library initialization of the test server much faster, making tests run faster too
[Improved] Block to BlockState conversion much faster by not creating snapshots anymore
[Fixed] Entities with entity controller stopping completely when moving very slowly
[Improved] Performance of EntityTypes lookup on 1.14 and later was improved significantly
[Fixed] Missing field error for PacketPlayOutWorldParticles on older versions of Minecraft
[Improved] Use entitiesById instead of entitiesByUUID field for world entity list, improves performance of synchronizeList function
[Fixed] Entities with controllers sometimes disappearing from the server on shutdown due to chunk not marked for saving
[Fixed] Entity tracker for players was reset when teleporting, causing some strange glitches and lag because chunks were resent [TrainCarts Issue #329]
[Improved] Legacy AttachEntity packet now has cleaner API functions for the legacy mount and still used leash logic
[Added] VehicleMountController, taken over from TrainCarts and significantly improved. Used to mount virtual entities onto one another