Releases: dmulloy2/ProtocolLib
ProtocolLib v5.4.0
Important
- This release bumps the minimum required Java version to 17
- Moving forward, ProtocolLib will be published to Maven Central instead of repo.dmulloy2.net. The groupId has been changed to net.dmulloy2 to support this. See #3528 for more details
- ci.dmulloy2.net is also officially deprecated. Future dev builds will be hosted on GitHub. More to follow
Changelog
- Support added for Minecraft 1.21.4-1.21.8.
- Fixed issues with PlayerInfoData conversion when gamemode is null and list order not preserved.
- Improved WrappedList to handle heterogeneous NBT lists.
- Fixed initialization errors for WrappedChatComponent and ChunkData in 1.20.4–1.21.5.
- Corrected version gating for WrappedTeamParameters.
- Improved error messaging when no supported updater is found.
- Updated dependencies for Java 24 compatibility.
- Added String overloads for nametagVisibility and collisionRule in WrappedTeamParameters.Builder.
New Contributors
- @ryanalexander made their first contribution in #3358
- @JavaFruit made their first contribution in #3445
- @Leviaria made their first contribution in #3523
Sponsors
As always, this release is brought to you by the project's sponsors:
If you build cool stuff using ProtocolLib, consider sponsoring the project!
Development Build
Changelog
- [66cdb5b] Move dev builds from Jenkins to GitHub (#3542)
- [f357ac8] Preserve the pipeline order when async receiving packets (#3351)
- [d790ded] Use the correct reflection method in setTypeAndData method, and rename GET_BLOCK_DATA to DEFAULT_BLOCK_DATA for clarity (#3530)
- [ca9b5bb] fix: use RegistryOps when (de)serializing chat component on 1.21.6+ (#3546)
- [771a530] Fix CME on disable
- [aa4fab1] Update to 1.21.9
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