Releases: dmulloy2/ProtocolLib
ProtocolLib v5.3.0
Note: This will be the final release supporting Java 8. ProtocoLib 5.4.0 will require Java 17.
This release primarily focuses on support for 1.20.5/6 and 1.21. This includes support for Mojang Mappings, support for Java 23, and improvements to ProtocolLib's underlying network injector.
Special thanks to @Ingrim4 for his excellent contributions to this release.
This release is brought to you by our generous sponsors: @aternosorg @pebblehost @Fanfaryy and @SimplyVanilla. If you would like, and are comfortably able, to support development work, consider sponsoring the project.
Full Changelog
- Support for 1.20.5 by @Ingrim4 in #2894
- Fix possible deadlock in async packet processing by @Ingrim4 in #2545
- Add support for 1.20.5/1.20.6 part 2 by @Ingrim4 in #2910
- Revert protocol-states being used for 1.8 - 1.20.1 packet class to packet type translation by @Jpx3 in #2961
- Fixed Listening to Handshake Packets & ServerPingRecord by @LOOHP in #2933
- Update EnumWrappers.java by @EuSouVoce in #2928
- Added mojmap packet names by @Brokkonaut in #2940
- Add Helper methods in AdventureComponentConverter for relocating plugins by @iiAhmedYT in #2934
- fix: WrappedRegistrable returning incorrect key by @diogotcorreia in #2970
- Improve injector listener tracking and fix terminal packets breaking injection by @Ingrim4 in #2951
- [#2980] Fix dropping of outbound configuration packets if sync processed by @Ingrim4 in #2982
- Improve/cleanup injector by @Ingrim4 in #2992
- Improve/cleanup injector (part 2) by @Ingrim4 in #3042
- Fix WrappedTeamParameters.Builder incorrectly using displayName for prefix and suffix by @hiett in #3050
- fix: race condition in EnumWrappers#initialize by @diogotcorreia in #3121
- Add AdventureComponentConverter#fromComponentObject by @iiAhmedYT in #3127
- Fix Github actions & unit tests by @Ingrim4 in #3244
- Fix ConcurrentModificationException in PacketListenerSet by @BjornTheProgrammer in #3241
- Fix ConcurrentModificationException when shutting down async listeners by @SzczurekYT in #3169
- Fix serializing and deserializing of ItemStack on 1.21 by @JustRed23 in #3217
- deps: update bytebuddy and shadow by @derklaro in #3247
New Contributors
- @EuSouVoce made their first contribution in #2928
- @Brokkonaut made their first contribution in #2940
- @iiAhmedYT made their first contribution in #2934
- @diogotcorreia made their first contribution in #2970
- @hiett made their first contribution in #3050
- @BjornTheProgrammer made their first contribution in #3241
- @SzczurekYT made their first contribution in #3169
- @JustRed23 made their first contribution in #3217
ProtocolLib v5.2.0
Big thank you to my sponsors @aternosorg @pebblehost @Fanfaryy @SimplyVanilla and @GomorrhaDev. If ProtocolLib is an important part of your server, consider supporting the project at https://github.com/sponsors/dmulloy2
Changelog
- Added a null check for the optional converter by @DoubleNico in #2485
- Fix PacketContainer serialiation (#2478) by @Mr-EmPee in #2479
- Added factory method for initializing WrappedDataValue by @lukalt in #2523
- Fixed PING packet for 1.19.1 and 1.19.2 by @Fanfaryy in #2518
- Improve async packet processing logic by @Ingrim4 in #2503
- Update for 1.20.2 by @derklaro in #2501
- fix invalid packet types due to state mismatch when calling packet events by @derklaro in #2568
- improve support for custom payloads in 1.20.2 by @derklaro in #2553
- Fix async handler scheduler support for folia by @Ingrim4 in #2531
- update dependencies & gradle by @derklaro in #2589
- Cache if a class has a default instance by @Jpx3 in #2676
- 1.20.4 update by @dmulloy2 & @TrainmasterHD in #2683
- Fixed setting Base64 favicon for 1.19.4 or later by @lukalt in #2533
- Fallback to the HANDSHAKING protocol if no packet type is found in the registry by @nickuc
Full Changelog: 5.1.0...5.2.0
ProtocolLib v5.1.0
Thank you to my sponsors @aternosorg @CJCrafter @pebblehost and @GomorrhaDev for their support! Help support the project at https://github.com/sponsors/dmulloy2, it really means a lot :)
What's Changed
- Ignore static fields in wrapper class for AutoWrapper by @lukalt in #2401
- Added method to get RemoteChatSession from player by @lukalt in #2406
- Cleanup3 by @Photon-GitHub in #2414
- Correctly resize integer map by @lukalt in #2422
- Update to 1.20 by @lukalt in #2420
- Init Folia support by @mani1232 in #2346
- Fix metrics scheduler for Folia by @lukalt in #2449
- Added support for dust color transition particles by @RobotHanzo in #2455
- Implement getNewEntityTracker for Folia by @LOOHP in #2464
- Some folia fixes by @Anon8281 in #2460
- FIX wiki.vg uri by @BradBot1 in #2480
Full Changelog: 5.0.0...5.1.0
ProtocolLib v5.0.0
- Performance improvements in channel injection (#1524)
- Updates for 1.19-1.19.4
- Added support for bundled packets in 1.19.4 (#2258)
- Support Mojang mapped servers (#1816)
- Use MethodHandles for reflection to improve performance (#1561)
- Support Java 20
- Added modifiers
- Various other performance improvements and bug fixes
Many thanks to @derklaro @lukalt @kennytv @libraryaddict @Aseeef @armagidon-exception @Jpx3 @l3nnartt @DiscowZombie @Elioby @officialLennox @opl- @caoli5288 @RodneyMKay @Etrayed @Snoiiiii @games647 @portlek and @Photon-GitHub for their contributions to this release
ProtocolLib v4.8.0
First, a big shoutout to @derklaro for many of the fixes and updates in this release! Make sure to send some love (and donations) his way. This will likely be the last release in the 4.x series as a large rewrite of the injection code and some impressive performance gains are incoming.
Changes
- Support for 1.17-1.18.x
- Add long jump pose
- Fix entity tracker
- Remove stray debug stak
- Fix NPE with PlayerInfoData
- Fix player protocol version
- Fix a memory leak
- Improve auto wrapper
And, as always, thank you to my generous sponsors who support the project!
ProtocolLib v4.7.0
First, a big shoutout to my sponsors for supporting the update to 1.17: @hawkfalcon @PaulBGD @Yive @TheCrealm @aternosorg @GiansCode @Photon-GitHub @Intriguing-RC @Andarius68 and @Koen11. I really appreciate y'all. You can support the project with a monthly or one-time contribution on GitHub sponsors.
Changelog
- Support for Java 16
- Support for Minecraft 1.17.x
- Metrics improvements
- Fix performance issue with list converter
- Add converter for Paper's adventure API
- Add modifier for internal classes via internal structure
- Only set chat packet UUID if not already set
- Support for unix domain sockets in paper
- Properly translate MotD to components for new RGB colors
ProtocolLib v4.6.0
Huge thank you to my GitHub sponsors @PaulBGD and @Yive. Sponsorships and donations are greatly appreciated and help keep me motivated.
Additions
Improvements
- Cache perm gen bean to improve performance (#876)
- Removed legacy code and dependencies
- Better support for MCP packet names (#862)
Bug Fixes
- Skip non-vanilla packets (#959)
- Fix issue with Chat Extensions
- Various other bug fixes
As always, report any issues you encounter on GitHub Issues
ProtocolLib v4.5.1
If ProtocolLib has made your life easier, please consider donating. It really means a lot!
Additions
- 1.15.2 support
- Support for CatServer/Magma
Bug Fixes
- Fix error with legacy block data (#809)
- Fix an incompatibility with CraftBukkit
- Fix direction and dimension enums in 1.15.2
Improvements
- Use the new Spigot updater
- More useful metrics
- Only fetch AttributeModifier$Operation if viable (#773)
- Be more specific in which sendPacket method we choose (PaperMC/Paper#3282)
- Cache PacketType#hashCode (#818)
- Improve WrappedDataWatcher hasIndex performance (#850)
This release has no known bugs. Report any you find on GitHub
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.