Repository navigation
Fix: add since to each deprecation in API, mark to-be removed API with forRemoval = true - #6823
Merged
eclipseisoffline merged 4 commits intoOct 26, 2026
Conversation
…ions to be removed in 2.13.0 with forRemoval = true
onebeastchris
approved these changes
Oct 24, 2026
eclipseisoffline
force-pushed
the
feature/26.60
branch
2 times, most recently
from
October 26, 2026 21:41
f21e9eb to
3869346
Compare
# Conflicts: # api/src/main/java/org/geysermc/geyser/api/entity/EntityData.java
SendableMetatype
pushed a commit
to EduGeyser/EduGeyser
that referenced
this pull request
Oct 29, 2026
…ith `forRemoval = true` (GeyserMC#6823) * Ensure each deprecation in API has a `since` parameter, mark deprecations to be removed in 2.13.0 with forRemoval = true * Add planned removal versions * Add planned removal version to new deprecated method (cherry picked from commit 5089678)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds a
since = "<version>"parameter to each@Deprecatedannotation in the API. For deprecations made in version 2.11.0 or earlier, it also marks the deprecation withforRemoval = true, to be removed in Geyser 2.13.0 (expected to release with Java Edition 26.4, this December).Geyser's version policy states the following on deprecations:
However, this hasn't been kept up to in the past. This PR attempts to make a move on this, marking all API that should have been removed already, or is to be removed by 2.13.0, as deprecated-for-removal, and noting the planned removal version in API that is not yet marked for removal. A full list of classes/methods/fields to be removed can be found below.
With this PR, I'd also like to propose to mark all deprecations as deprecated-for-removal one version ahead of its removal from now on.
It should be noted that for some deprecations, an exact
sinceversion couldn't have been determined. In these cases, the Geyser version at the time of release has been used. This applies to the following annotations:ServerDefineCommandsEventinorg.geysermc.geyser.api.event.downstream: deprecated in c60a4d0, between 2.1.0 and 2.2.0.PlatformType#ANDROIDandPlatformType#SPONGE: deprecated in Remove Geyser-Sponge #4097, between 2.2.0 and 2.2.1.ConnectionRequestEvent#getInetSocketAddress()andConnectionRequestEvent#getProxyIp(): deprecated in Feat: Make connection data exposed in api less prone to throw errors #4604, between 2.3.0 and 2.3.1.JavaBlockState#hasBlockEntity()and itsBuildervariant: deprecated in Fix: Ignore invalid block entity data sent by Java server #4766, between 2.4.0 and 2.4.1.CustomItemData#textureSize()andCustomItemData#renderOffsets(), and theirBuildervariants: deprecated in Warn about future removal of render offsets/texture size #6141, between 2.9.2 and 2.9.3.Please note that the custom items API v1, along with render offsets, are not yet deprecated-for-removal (despite being deprecated in 2.9.2/2.9.3), pending discussion in the team.
Classes, methods and fields marked for removal
The following classes/methods/fields have been marked to be removed in Geyser 2.13.0:
CustomBlockComponents#collisionBox()and itsBuildervariant: deprecated since 2.9.5.CustomBlockComponents#unitCube()and itsBuildervariant: deprecated since 2.2.2.MaterialInstance#ambientOcclusion()and itsBuildervariant: deprecated since 2.11.3.JavaBlockState#pickItem()and itsBuildervariant: deprecated since 2.9.0.JavaBlockState#hasBlockEntity()and itsBuildervariant: deprecated between 2.4.0 and 2.4.1.Command#isSuggestedOpOnly()and itsBuildervariant: deprecated since 2.4.1.Command#isExecutableOnConsole()and itsBuildervariant: deprecated since 2.4.1.Command#subCommands()and itsBuildervariant: deprecated since 2.4.1.GeyserConnection#shakeCamera(float, float, CameraShake): deprecated since 2.2.2.GeyserConnection#stopCameraShake(): deprecated since 2.2.2.GeyserConnection#sendFog(String...): deprecated since 2.2.2.GeyserConnection#removeFog(String...): deprecated since 2.2.2.GeyserConnection#fogEffects(): deprecated since 2.2.2.GeyserEntity#updatePropertiesBatched(Consumer): deprecated since 2.11.0.EntityData#switchHands(): deprecated since 2.9.3.EntityData#showEmote(GeyserPlayerEntity, String): deprecated since 2.9.3.EntityData#playerEntity(): deprecated since 2.9.3.SessionLoadResourcePacksEvent#register(ResourcePack): deprecated since 2.6.2.ConnectionRequestEvent#getInetSocketAddress(): deprecated between 2.3.0 and 2.3.1.ConnectionRequestEvent#getProxyIp(): deprecated between 2.3.0 and 2.3.1.ServerDefineCommandsEventinorg.geysermc.geyser.api.event.downstream: deprecated between 2.1.0 and 2.2.0.GeyserLoadResourcePacksEvent: deprecated since 2.6.2.ExtensionDescription#patchApiVersion(): deprecated since 2.4.1.NonVanillaCustomItemData#toolTier()and itsBuildervariant: deprecated since 2.6.0.NonVanillaCustomItemData#repairMaterials()and itsBuildervariant: deprecated since 2.6.0.NonVanillaCustomItemData#isTool()and itsBuildervariant: deprecated since 2.1.0.PackCodec#serialize(ResourcePack): deprecated since 2.6.2.ItemRangeDispatchPredicate#bundleFullness(int): deprecated since 2.9.4.PlatformType#ANDROID: deprecated between 2.2.0 and 2.2.1.PlatformType#SPONGE: deprecated between 2.2.0 and 2.2.1.