Protocol changelog

Packet changes across the latest tagged metadata releases.

Browse legacy changelogs →

Stable releases

Changes between stable protocol releases.

Released
Protocol
2193

Packets

0 changes

No packet changes.

Developer notes

No new developer notes.

Released
Protocol
2193

Packets

19 changes

Added 2

Changed 17

BossEventPacket
  • Moved Event Type from field 2 to 1.
  • Moved Name from field 3 to 2.
  • Moved FilteredName from field 4 to 3.
  • Moved Health Percent from field 5 to 4.
  • Moved Color from field 6 to 5.
  • Moved Overlay from field 7 to 6.
  • Removed field Player ID (type ActorUniqueID).
ClientboundMapItemDataPacket
InventoryTransactionPacket
PlayerAuthInputPacket
PlayerListPacket
PlaySoundPacket
  • Added field Bypass Listener Range Check (type boolean).
  • Moved Server Sound Handle from field 5 to 6.
  • Added field Playback Position Seconds (type float).
ServerboundDiagnosticsPacket
ServerboundPackSettingChangePacket
  • Changed PackSettingValue from oneOf<float, boolean, string> to oneOf<float, boolean, string, array<string>>.
  • Changed PackSettingValue variants.

Developer notes

General

  • Added SetPlayerFurnaceOptionsPacket
  • Removed obsolete Cereal presence bytes from fields using context-aware setter/getter bindings in InventoryTransactionPacket, PlayerAuthInputPacket, and ItemStackResponsePacket.
  • Pre-existing vanilla stair block types modified to include the minecraft:corner block state (none, inner_left, inner_right, outer_left, outer_right), changing their permutations and hashed runtime IDs
  • Pre-existing vanilla glass pane, iron bars, copper bars, and trip wire block types modified to include the minecraft:connection_north, minecraft:connection_east, minecraft:connection_south, and minecraft:connection_west block states, changing their permutations and hashed runtime IDs
  • Added Molang query query.head_is_in_water
  • Added new map decoration enum values AbandondedCamp, BuriedAncientCity, BuriedMineshaft, DesertPyramid and WarmOceanRuins

Added HardNonTerminal::(PoiTag|PoiType) to auto-complete POI types and tags

  • Added bindings for HandSlot with values of Mainhand and Offhand
  • Added HandSlot member Hand to ItemUseInventoryTransaction

StartGamePacket

  • Clients will now disconnect from servers that do not send a valid JigsawStructureDataPacket before StartGamePacket

PlayerAuthInputPacket

  • Optimized Input Data serialization by binding its enum set directly instead of converting through an intermediate list.
  • Removed redundant Cereal accessor-presence markers from Input Data, Item Use Transaction, Item Stack Request, Player Block Actions, Vehicle Rotation, and Client Predicted Vehicle. The binary wire format has changed.

MoveActorDeltaPacket

MoveActorDeltaData
  • Added mTicks field containing the expected number of ticks before the next movement update is sent to this player, used for client-side interpolation duration

PrimitiveShapesPacket

  • Added mLineHeightOverride field to the TextDataPayload for the mExtraDataPayload.

CameraPresetsPacket

  • Added Apply Inherited Starting Rotation and Starting Rotation fields to sync the version-gated camera preset starting rotation (MCM-1838)

ServerBoundDiagnosticsPacket

  • Modified ServerBoundDiagnosticsPacket to send Entity Position and Dimension information for display in the Minecraft Debugger

RecordStartedPacket

  • Added RecordStartedPacket, a server to client packet carrying a BlockPos and a ServerSoundHandle to notify the client that a record started playing at a block position.

Block state serialization

  • Vanilla fence blocks now serialize four additional connection block states (minecraft:connection_north, minecraft:connection_east, minecraft:connection_south, minecraft:connection_west), adding new fence permutations to the network block palette

DimensionDataPacket

  • Added a required Default Biome string field to each dimension definition in DimensionDataPacket, carrying the identifier of the biome a custom dimension generates with

PlaySoundPacket

  • Added a Bypass Listener Range Check boolean field to PlaySoundPacketPayload indicating the receiving client should bypass its volume-based listener range check.

PlaySoundPacket

  • Added optional property mPlaybackPositionSeconds to PlaySoundPacket

ContainerType enum

  • Added DATA_DRIVEN_CONTAINER for containers backed by the minecraft:container block component

BlockDefinition network payload

  • Added the minecraft:container block component so clients can predict interactions with custom container blocks

BossEventPacket

  • Removed the redundant Player ID field; servers now identify the player from the packet sender connection

StartGamePacket

  • Updated GatheringsConfigurationJoinInfo to use its packet schema, making packet fields optional

ClientboundTextureShiftPacket

  • Start actions now use the Enabled field to control whether texture shifts begin enabled; ClientboundTextureShiftPacket remains unused

ClientboundAttributeLayerSyncPacket

  • Updated ClientboundAttributeLayerSyncPacket. Added a NoiseAlignment option to EnvironmentAttributeData types.
Released
Protocol
2169

Packets

0 changes

No packet changes.

Developer notes

SetScorePacket
  • Changed RemoveScore::Objective Name from being a double optional back a single optional value like it was before
Released
Protocol
2168

Packets

3 changes

Changed 3

PlayerListPacket
PlayerSkinPacket
StartGamePacket
  • Added Allow unknown enum values to Game Type serialization.
  • Changed supporting type LevelSettings: Added Allow unknown enum values to Generator Type serialization.
  • Changed supporting type LevelSettings: Added Allow unknown enum values to Game Type serialization.
  • Changed supporting type LevelSettings: Added Allow unknown enum values to Game Difficulty serialization.
  • Changed supporting type LevelSettings: Added Allow unknown enum values to Editor World Type serialization.
  • Changed supporting type LevelSettings: Added Allow unknown enum values to Education Edition Offer serialization.
  • Changed supporting type LevelSettings: Added Allow unknown enum values to Xbox Live Broadcast Setting serialization.
  • Changed supporting type LevelSettings: Added Allow unknown enum values to Platform Broadcast Setting serialization.
  • Changed supporting type LevelSettings: Added Allow unknown enum values to Player Permissions serialization.
  • Changed supporting type LevelSettings: Added Allow unknown enum values to Chat Restriction Level serialization.
  • Changed supporting type LevelSettings: Added Allow unknown enum values to Server Editor Connection Policy serialization.
  • Changed supporting type SpawnSettings: Added Allow unknown enum values to Spawn Biome Type serialization.

Developer notes

No new developer notes.

Released
Protocol
2168

Packets

0 changes

No packet changes.

Developer notes

No new developer notes.