Skip to content

Releases: dmulloy2/ProtocolLib

ProtocolLib v4.5.0

24 Dec 20:01
e2f949c
Compare
Choose a tag to compare

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

22 Sep 16:28
Compare
Choose a tag to compare

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

14 Jun 18:40
Compare
Choose a tag to compare

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

09 Apr 16:03
Compare
Choose a tag to compare

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

21 Dec 19:29
Compare
Choose a tag to compare

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

18 Sep 19:32
Compare
Choose a tag to compare

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

13 Aug 17:33
Compare
Choose a tag to compare

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

06 Jul 17:56
Compare
Choose a tag to compare

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

22 May 21:40
Compare
Choose a tag to compare

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

15 May 22:05
Compare
Choose a tag to compare

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