Releases: dmulloy2/ProtocolLib
ProtocolLib v4.5.0
Merry Christmas, everyone! My gift to y'all is a new release:
Additions
- MC 1.14.x and 1.15.x support
- VillagerData wrapper, long array NBT type, new packets
Bug Fixes
- Fixed entity tracking issues with Citizens and Holographic Displays
- Fixed block data deep clone
- Fixed error filtering reports
- Fixed linkage error on enable
- Fixed statistic wrapper error
Improvements
- Improved legacy packet name compatibility
- Reduced exception wrapping with ViaVersion
If ProtocolLib has made your life easier, please consider donating. It really means a lot!
ProtocolLib v4.4.0
Additions
• API method to check for temporary players
• 1.12.x and 1.13.x support
• Ability to clone NBT tags, as well as new 1.13.x classes
• Support for Java optionals and 1.13.x particles
Bug Fixes
• Fixed an issue with the component array converter
• Fixed an issue reloading (still not recommended)
• Fixed an issue with 1.8.0 support
• Fixed an issue with the Bukkit updater, treat Paper as "Spigot"
• Fixed an issue where the byte buffer in a WirePacket was not released
Improvements
• Java 9/10 support (still not recommended due to reflection performance)
• Reworked internal conversion and cloning logic to be cleaner and more efficient
• Replaced MCstats (RIP) with bStats
• More consistent packet metadata API
• Handle AIR item stacks properly
• Use real players wherever possible instead of temporary players
Note to developers: This will be the last release of the ProtocolLib-API module. Lots of people have been having issues with the plugin failing to load, and the best solution I see is to recombine the modules. Resuming with 4.5.0, use ProtocolLib as a whole as your dependency.
ProtocolLib v4.3.0
Additions
- Added support for 1.12
- Added new ChatType enum
Improvements
- Updated to Java 8
- Restored getProtocolVersion functionality
Bug Fixes
- Fixed issues with packet type deprecation
- Fixed a typo that broke 1.8.0 compatibility
- Fixed an issue with another fork
ProtocolLib v4.2.1
Additions
- Added debugging mechanism to print out all packet contents
- Added missing fallingdust particle
Improvements
- Made Sound conversion more robust
Bug Fixes
- Removed unnecessary updater spam
- Fixed component parsing in 1.8
ProtocolLib v4.2.0
Additions
- Added modifier for ItemStack lists
- Added mechanism to clone NonNullLists
Improvements
- Updated for 1.11-1.11.2
- Avoid looking up classes multiple times to improve performance
- Avoid errors with invalid entities
ProtocolLib v4.1.0
I realize versioning got a little ...complicated... since I decided to drop legacy support. So, with the release of 4.1.0, the main branch of ProtocolLib will support 1.8 and up. The legacy branch, 3.7.0, will support 1.7.10 and below. I encourage all developers who added ProtocolLib version checks to adjust these checks accordingly or remove them altogether. Now, on to the meat of the update.
Additions:
- Support for Minecraft 1.8.x
- Conversion methods for WirePackets
- Modifiers for UUIDs, Directions, and NBT Lists
Improvements:
- Made ProtocolLib locale independent
- Cache null classes to improve performance
- Wrap all serializable objects in DataWatchers
Bug Fixes:
- Fixed issues with cloning DataWatchers
- Fixed missing TileEntity write methods
- Fixed issues with "proxied" players (non-Bungee)
Development build equivalent: http://ci.dmulloy2.net/job/ProtocolLib/325/
A full list of changes can be found here: https://github.com/dmulloy2/ProtocolLib/commits/master
ProtocolLib v3.7.0
Note: This version only supports Spigot 1.7.10 and below. For current versions, see here: https://github.com/dmulloy2/ProtocolLib/releases/
This version contains critical bug fixes from the 3.6.x branch for 1.7.10:
- Fixes issues related to MCPC / Cauldron / Thermos / Whatever they're calling it nowadays
- Fixes issues related to entity tracking, especially with Paper
- Backports a few critical performance fixes, including:
- Fixes performance issues with background compilation
- Ensure the packet registry is updated only when changes occur
- Cache null classes to improve performance
A full changelog can be found here: https://github.com/dmulloy2/ProtocolLib/commits/3.7.0
Since 1.7.10 is 2 years old by now, only critical bugs will be addressed. No feature requests or minor bugs will be accepted.
ProtocolLib v4.0.2
This update contains a few bug fixes before work begins on 4.1.
API Improvements:
- Added block data to the cloning mechanism
- Reworked the component array modifier to work with 1.9.4 and up
- Automatically wrap and unwrap values in Optionals
General Improvements:
- Updated to 1.10 and 1.10.2
Bugs, etc:
- Fixed another entity tracking issue with Paper
- Improved error messages for entity tracking
- Improved error message when the login packet class doesn't exist
ProtocolLib v4.0.1
This is a collection of bug fixes from the 4.0.0 release.
Updater:
- Auto download is now disabled by default
- Build numbers are no longer taken into account
- A warning is now printed if the updater section is missing
Performance:
- Fixed the registry being refreshed more often than necessary
ProtocolLib v4.0.0
Hello everyone!
It's time for a major release, the first one since 2013. The reason for this is major changes in the project structure and removal of backwards compatibility.
For server owners:
ProtocolLib will no longer provide backwards compatibility. The released version will only support the latest minor version of Minecraft, so in this case it will only support 1.9.x. The reasoning behind this is two-fold:
First, it would have been a pain and required lots of extra code to maintain backwards compatibility with 1.7 and 1.8 due to the changes in 1.9. Second, the public API remains relatively constant between updates, so
as long as you're using the proper version of ProtocolLib for your server, plugins should work just fine.
For developers:
The biggest change in 1.9 involves data watchers. Mojang added a few new data watcher related classes, most notably the data watcher object and the data watcher serializer. Watcher objects are generally created and registered
in entity classes and store the item's index and serializer. Serializers serialize watcher values into the packet stream. What this means for developers is that now, in order to register a new object in a data watcher, you
must specify a valid watcher object, and by extension, a serializer. Check the documentation for the WrappedDataWatcher and its subclasses here:
http://ci.dmulloy2.net/job/ProtocolLib/javadoc/com/comphenix/protocol/wrappers/package-summary.html
The API has been split off into its own module, ProtocolLib-API. Developers are encouraged to use it as the dependency. I plan to do more with the new project structure in the future.
Changes since 3.7:
- Added modifiers for ItemSlot, Sonds, Hands, SoundCategory, and MobEffects
- Added the ability to use user-created enums (See here)
- Full support for 1.9-1.9.4
- More DataWatcher improvements
- Fixed block data errors
- Fixed false update notifications with beta releases
- Fixed an issue with chat components