Patches
What is particular to each patch this book covers: the builds it shipped, the live checks that ran on them, every message it carries, what the specification leaves unrecorded there, and how it differs from the patch before it. Where builds of two patches are held to the same facts, they share a section.
No build of this book has these, though the chapters name them, so what the chapters say of them says nothing of this book: AnimationAdvanced, AscendedUnit, AttackIndicators, AttackSpeedBounds, BalanceResult, BalanceVote, BalanceVoteAnswer, BalanceVoteRefused, BounceMissile, CampMarker, CampTimer, CapturePointValue, ChampionRemoved, CharacterPreload, ChatAllowance, CursorRings, DeathTimer, EffectCounter, EmitterPause, FloatingTextOnMap, GameOptions, GroundAttackMode, InhibitorDied, InputLockChanged, InputLocksFlipped, InventorySnapshot, InventorySnapshotOnMap, ItemCharges, ItemSubstitution, LevelCap, MarkerMoved, MinionKillCount, MissileSpeed, PlaceTurret, RegionMoved, ResourceDisplay, ResourceKindChanged, ShopUndo, ShopUndoCount, Situation, SoundPlayed, SpawnMarker, SpawnTurret, SpellCharges, SpellCostChanged, SpellRankLimits, SpellSlotChangedForOwner, SpellTargeterHidden, SpellTargeterShown, SpellToggled, StreamChunk, StreamChunkRange, StreamMetadata, SubstitutionCleared, SurrenderAllowed, SurrenderFailed, ThemeMusic, UnitDiedOnMap, ZoomReport.
1.0.0.130
Client builds from 1.0.0.130 up to, not including, 1.0.0.131. Patch notes: V1.0.0.130.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.130 | 10 | 0 | 4 | 488476a | 2026-10-25 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: AppearanceCleared, BotKick, CampOpened, ContextEmote, CreateFollower, FollowerMaster, HoverIndicator, HoverTarget, MissileCourse, MissileLaunched, MissileRetarget, ParticleEnterTeamSight, ShopEnabled, SoftReconnect, SpellCharge, SpellRangeChanged, SpellSlotChanged, StreamRequest, SystemMessage, VoiceCommand.
Every message of this range (215)
1.0.0.131
Client builds from 1.0.0.131 up to, not including, 1.0.0.132. Patch notes: V1.0.0.131.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.131 | 10 | 0 | 4 | 488476a | 2026-10-25 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: AppearanceCleared, BotKick, CampOpened, ContextEmote, CreateFollower, FollowerMaster, HoverIndicator, HoverTarget, MissileCourse, MissileLaunched, MissileRetarget, ParticleEnterTeamSight, ShopEnabled, SoftReconnect, SpellCharge, SpellRangeChanged, SpellSlotChanged, StreamRequest, SystemMessage, VoiceCommand.
Every message of this range (215)
Against 1.0.0.130
Where a build from 1.0.0.131 up to, not including, 1.0.0.132 differs from one from 1.0.0.130 up to, not including, 1.0.0.131. Anything not named here is the same in both.
Laid out differently
ForceDeathdurationis in 1.0.0.131 (f32) at the start, and not in 1.0.0.130.
Structs
SeatbotNameis bytes, 28 in 1.0.0.130 and text, 64 bytes in 1.0.0.131.botAssetis bytes, 28 in 1.0.0.130 and text, 64 bytes in 1.0.0.131.
1.0.0.132
Client builds from 1.0.0.132 up to, not including, 1.0.0.133. Patch notes: V1.0.0.132.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.132 | 10 | 0 | 4 | 55f9cfa | 2026-10-25 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: AppearanceCleared, BotKick, CampOpened, ContextEmote, CreateFollower, FollowerMaster, HoverIndicator, HoverTarget, MissileLaunched, MissileRetarget, ParticleEnterTeamSight, ShopEnabled, SoftReconnect, SpellCharge, SpellRangeChanged, SpellSlotChanged, StreamRequest, SystemMessage, VoiceCommand.
Every message of this range (216)
Against 1.0.0.131
Where a build from 1.0.0.132 up to, not including, 1.0.0.133 differs from one from 1.0.0.131 up to, not including, 1.0.0.132. Anything not named here is the same in both.
In 1.0.0.132, not in 1.0.0.131
| Message | Sent by | Command | What it does |
|---|---|---|---|
MissileCourse | server | 66 on events | Set where a missile starts from and how fast it travels, which restarts its flight |
Commands
These differ only in their command. Each row is a run of commands moved by the same amount:
Laid out differently
Announcement- Its command is 133 in 1.0.0.131 and 134 in 1.0.0.132.
Only notes
These read the same on the wire, and only their notes change. What each says in 1.0.0.132:
Resume, its layout: “A client writes only delayed in how; the rest of the byte carries whatever it held there.”, where 1.0.0.131 has “A client clears delayed and leaves the other bits of how unwritten.”Resume,how.unused: “A client leaves these bits unwritten; they carry no meaning, and a server ignores them.”, where 1.0.0.131 has “A client leaves these bits unwritten; they carry no meaning.”
1.0.0.133
Client builds from 1.0.0.133 up to, not including, 1.0.0.134. Patch notes: V1.0.0.133.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.133 | 10 | 0 | 4 | 2f0b9d6 | 2026-10-24 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: AppearanceCleared, BotKick, CampOpened, ContextEmote, CreateFollower, FollowerMaster, HoverIndicator, HoverTarget, MissileLaunched, MissileRetarget, ParticleEnterTeamSight, ShopEnabled, SoftReconnect, SpellCharge, SpellRangeChanged, SpellSlotChanged, StreamRequest, SystemMessage, VoiceCommand.
Every message of this range (216)
Against 1.0.0.132
Where a build from 1.0.0.133 up to, not including, 1.0.0.134 differs from one from 1.0.0.132 up to, not including, 1.0.0.133. Anything not named here is the same in both.
Laid out differently
ClientEvent(vectors: another-on-1-0-0-133, buff-on-1-0-0-133, champion-kill-handler-on-1-0-0-133, consumable-bought-on-1-0-0-133, critical-strike-on-1-0-0-133, damage-dealt-on-1-0-0-133, damage-taken-on-1-0-0-133, death-assist-on-1-0-0-133, died-on-1-0-0-133, gold-earned-on-1-0-0-133, gold-spent-on-1-0-0-133, heal-cast-on-1-0-0-133, heal-on-1-0-0-133, item-bought-on-1-0-0-133, killing-spree-on-1-0-0-133, one-on-1-0-0-133)eventtakes 4 championKillHandler, 5 championKill, 7 singleKill, 8 doubleKill, 14 damageTaken, 15 damageDealt, 22 goldSpent, 23 goldEarned, 24 consumableBought, 25 criticalStrike, 28 inhibitorKilled, 29 inhibitorDied, 30 inhibitorRespawningSoon, 32 turretKilled, 33 turretDied, 34 minionKilled, 35 minionDenied, 36 monsterKilled, 37 largeMonsterKilled, 38 nexusKilled, 39 nexusDied, 40 heal, 41 healCast, 42 buff, 43 killingSpree, 50 killDuringSpree, 57 doubleKillDuringSpree, 58 tripleKillDuringSpree, 59 quadraKillDuringSpree, 62 deathAssist, 63 playerQuit, 64 playerLeft, 65 playerReconnected, 76 itemBought, 77 surrenderVoteStarted, 78 surrenderVoteCast, 79 surrenderAlreadyVoted, 80 surrenderCountdown, 81 surrenderFailed, 82 surrenderTooEarly, 83 surrenderAgreed, 84 surrenderVoteSpam, 87 minionsSpawned, 88 welcome, 89 startNoticeTwo, 90 startNoticeThree, 91 startNoticeFour, 92 startNoticeFive, 93 alert, 94 scoreboardOpened, 97 pointANeutralized, 98 pointBNeutralized, 99 pointCNeutralized, 100 pointDNeutralized, 101 pointENeutralized, 102 pointACaptured, 103 pointBCaptured, 104 pointCCaptured, 105 pointDCaptured, 106 pointECaptured in 1.0.0.133 and not in 1.0.0.132.eventtakes 4 championKill, 6 singleKill, 7 doubleKill, 13 damageTaken, 14 damageDealt, 21 goldSpent, 22 goldEarned, 23 consumableBought, 24 criticalStrike, 27 inhibitorKilled, 28 inhibitorDied, 29 inhibitorRespawningSoon, 31 turretKilled, 32 turretDied, 33 minionKilled, 34 minionDenied, 35 monsterKilled, 36 largeMonsterKilled, 37 nexusKilled, 38 nexusDied, 39 heal, 40 healCast, 41 buff, 42 killingSpree, 49 killDuringSpree, 56 doubleKillDuringSpree, 57 tripleKillDuringSpree, 58 quadraKillDuringSpree, 61 deathAssist, 62 playerQuit, 63 playerLeft, 64 playerReconnected, 75 itemBought, 76 surrenderVoteStarted, 77 surrenderVoteCast, 78 surrenderAlreadyVoted, 79 surrenderCountdown, 80 surrenderFailed, 81 surrenderTooEarly, 82 surrenderAgreed, 83 surrenderVoteSpam, 86 minionsSpawned, 87 welcome, 88 startNoticeTwo, 89 startNoticeThree, 90 startNoticeFour, 91 startNoticeFive, 92 alert, 93 scoreboardOpened, 96 pointANeutralized, 97 pointBNeutralized, 98 pointCNeutralized, 99 pointDNeutralized, 100 pointENeutralized, 101 pointACaptured, 102 pointBCaptured, 103 pointCCaptured, 104 pointDCaptured, 105 pointECaptured in 1.0.0.132 and not in 1.0.0.133.stageis in 1.0.0.133 (u32), aftersubject, and not in 1.0.0.132.stageExtrais present when event = 3 in 1.0.0.132, and present when event = 3 or 4 in 1.0.0.133.stagePaddingis present when event = 3 in 1.0.0.132, and present when event = 3 or 4 in 1.0.0.133.damageis present when event = 13 or 14 in 1.0.0.132, and present when event = 14 or 15 in 1.0.0.133.spentis present when event = 21 in 1.0.0.132, and present when event = 22 in 1.0.0.133.valueis present when event = 23 or 75 in 1.0.0.132, and present when event = 24 or 76 in 1.0.0.133.criticalis present when event = 24 in 1.0.0.132, and present when event = 25 in 1.0.0.133.spreeis present when event = 42 in 1.0.0.132, and present when event = 43 in 1.0.0.133.earnedis present when event = 22 in 1.0.0.132, and present when event = 23 in 1.0.0.133.healis present when event = 39 or 40 in 1.0.0.132, and present when event = 40 or 41 in 1.0.0.133.effectis present when event = 41 in 1.0.0.132, and present when event = 42 in 1.0.0.133.assistis present when event = 61 in 1.0.0.132, and present when event = 62 in 1.0.0.133.
ClientReadymaskedStatusis in 1.0.0.133 (u32) at the start, and not in 1.0.0.132.maskis in 1.0.0.133 (u32), aftermaskedStatus, and not in 1.0.0.132.
DeathHistory(vectors: another-on-1-0-0-133, one-on-1-0-0-133)entries[].eventtakes 4 championKillHandler, 5 championKill, 7 singleKill, 8 doubleKill, 14 damageTaken, 15 damageDealt, 22 goldSpent, 23 goldEarned, 24 consumableBought, 25 criticalStrike, 28 inhibitorKilled, 29 inhibitorDied, 30 inhibitorRespawningSoon, 32 turretKilled, 33 turretDied, 34 minionKilled, 35 minionDenied, 36 monsterKilled, 37 largeMonsterKilled, 38 nexusKilled, 39 nexusDied, 40 heal, 41 healCast, 42 buff, 43 killingSpree, 50 killDuringSpree, 57 doubleKillDuringSpree, 58 tripleKillDuringSpree, 59 quadraKillDuringSpree, 62 deathAssist, 63 playerQuit, 64 playerLeft, 65 playerReconnected, 76 itemBought, 80 surrenderCountdown, 87 minionsSpawned, 88 welcome, 89 startNoticeTwo, 90 startNoticeThree, 94 scoreboardOpened in 1.0.0.133 and not in 1.0.0.132.entries[].eventtakes 4 championKill, 6 singleKill, 7 doubleKill, 13 damageTaken, 14 damageDealt, 21 goldSpent, 22 goldEarned, 23 consumableBought, 24 criticalStrike, 27 inhibitorKilled, 28 inhibitorDied, 29 inhibitorRespawningSoon, 31 turretKilled, 32 turretDied, 33 minionKilled, 34 minionDenied, 35 monsterKilled, 36 largeMonsterKilled, 37 nexusKilled, 38 nexusDied, 39 heal, 40 healCast, 41 buff, 42 killingSpree, 49 killDuringSpree, 56 doubleKillDuringSpree, 57 tripleKillDuringSpree, 58 quadraKillDuringSpree, 61 deathAssist, 62 playerQuit, 63 playerLeft, 64 playerReconnected, 75 itemBought, 79 surrenderCountdown, 86 minionsSpawned, 87 welcome, 88 startNoticeTwo, 89 startNoticeThree, 93 scoreboardOpened in 1.0.0.132 and not in 1.0.0.133.entries[].stageis in 1.0.0.133 (u32), afterentries[].target, and not in 1.0.0.132.entries[].stageExtrais present when event = 3 in 1.0.0.132, and present when event = 3 or 4 in 1.0.0.133.entries[].stagePaddingis present when event = 3 in 1.0.0.132, and present when event = 3 or 4 in 1.0.0.133.entries[].damageis present when event = 13 or 14 in 1.0.0.132, and present when event = 14 or 15 in 1.0.0.133.entries[].spentis present when event = 21 in 1.0.0.132, and present when event = 22 in 1.0.0.133.entries[].valueis present when event = 23 or 75 in 1.0.0.132, and present when event = 24 or 76 in 1.0.0.133.entries[].criticalis present when event = 24 in 1.0.0.132, and present when event = 25 in 1.0.0.133.entries[].spreeis present when event = 42 in 1.0.0.132, and present when event = 43 in 1.0.0.133.entries[].earnedis present when event = 22 in 1.0.0.132, and present when event = 23 in 1.0.0.133.entries[].healis present when event = 39 or 40 in 1.0.0.132, and present when event = 40 or 41 in 1.0.0.133.entries[].effectis present when event = 41 in 1.0.0.132, and present when event = 42 in 1.0.0.133.entries[].assistis present when event = 61 in 1.0.0.132, and present when event = 62 in 1.0.0.133.
WorldEvent(vectors: another-on-1-0-0-133, buff-on-1-0-0-133, champion-kill-handler-on-1-0-0-133, consumable-bought-on-1-0-0-133, critical-strike-on-1-0-0-133, damage-dealt-on-1-0-0-133, damage-taken-on-1-0-0-133, death-assist-on-1-0-0-133, died-on-1-0-0-133, gold-earned-on-1-0-0-133, gold-spent-on-1-0-0-133, heal-cast-on-1-0-0-133, heal-on-1-0-0-133, item-bought-on-1-0-0-133, killing-spree-on-1-0-0-133, one-on-1-0-0-133)eventtakes 4 championKillHandler, 5 championKill, 7 singleKill, 8 doubleKill, 14 damageTaken, 15 damageDealt, 22 goldSpent, 23 goldEarned, 24 consumableBought, 25 criticalStrike, 28 inhibitorKilled, 29 inhibitorDied, 30 inhibitorRespawningSoon, 32 turretKilled, 33 turretDied, 34 minionKilled, 35 minionDenied, 36 monsterKilled, 37 largeMonsterKilled, 38 nexusKilled, 39 nexusDied, 40 heal, 41 healCast, 42 buff, 43 killingSpree, 50 killDuringSpree, 57 doubleKillDuringSpree, 58 tripleKillDuringSpree, 59 quadraKillDuringSpree, 62 deathAssist, 63 playerQuit, 64 playerLeft, 65 playerReconnected, 76 itemBought, 80 surrenderCountdown, 87 minionsSpawned, 88 welcome, 89 startNoticeTwo, 90 startNoticeThree, 94 scoreboardOpened in 1.0.0.133 and not in 1.0.0.132.eventtakes 4 championKill, 6 singleKill, 7 doubleKill, 13 damageTaken, 14 damageDealt, 21 goldSpent, 22 goldEarned, 23 consumableBought, 24 criticalStrike, 27 inhibitorKilled, 28 inhibitorDied, 29 inhibitorRespawningSoon, 31 turretKilled, 32 turretDied, 33 minionKilled, 34 minionDenied, 35 monsterKilled, 36 largeMonsterKilled, 37 nexusKilled, 38 nexusDied, 39 heal, 40 healCast, 41 buff, 42 killingSpree, 49 killDuringSpree, 56 doubleKillDuringSpree, 57 tripleKillDuringSpree, 58 quadraKillDuringSpree, 61 deathAssist, 62 playerQuit, 63 playerLeft, 64 playerReconnected, 75 itemBought, 79 surrenderCountdown, 86 minionsSpawned, 87 welcome, 88 startNoticeTwo, 89 startNoticeThree, 93 scoreboardOpened in 1.0.0.132 and not in 1.0.0.133.stageis in 1.0.0.133 (u32), aftersubject, and not in 1.0.0.132.stageExtrais present when event = 3 in 1.0.0.132, and present when event = 3 or 4 in 1.0.0.133.stagePaddingis present when event = 3 in 1.0.0.132, and present when event = 3 or 4 in 1.0.0.133.damageis present when event = 13 or 14 in 1.0.0.132, and present when event = 14 or 15 in 1.0.0.133.spentis present when event = 21 in 1.0.0.132, and present when event = 22 in 1.0.0.133.valueis present when event = 23 or 75 in 1.0.0.132, and present when event = 24 or 76 in 1.0.0.133.criticalis present when event = 24 in 1.0.0.132, and present when event = 25 in 1.0.0.133.spreeis present when event = 42 in 1.0.0.132, and present when event = 43 in 1.0.0.133.earnedis present when event = 22 in 1.0.0.132, and present when event = 23 in 1.0.0.133.healis present when event = 39 or 40 in 1.0.0.132, and present when event = 40 or 41 in 1.0.0.133.effectis present when event = 41 in 1.0.0.132, and present when event = 42 in 1.0.0.133.assistis present when event = 61 in 1.0.0.132, and present when event = 62 in 1.0.0.133.
1.0.0.134
Client builds from 1.0.0.134 up to, not including, 1.0.0.135. Patch notes: V1.0.0.134.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.134 | 10 | 0 | 4 | 775105e | 2026-10-24 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: AppearanceCleared, BotKick, CampOpened, ContextEmote, CreateFollower, FollowerMaster, HoverIndicator, HoverTarget, MissileLaunched, MissileRetarget, ParticleEnterTeamSight, ShopEnabled, SoftReconnect, SpellCharge, SpellRangeChanged, SpellSlotChanged, StreamRequest, SystemMessage, VoiceCommand.
Every message of this range (216)
Against 1.0.0.133
Where a build from 1.0.0.134 up to, not including, 1.0.0.135 differs from one from 1.0.0.133 up to, not including, 1.0.0.134. Anything not named here is the same in both.
Laid out differently
ClientEvent(vectors: another-on-1-0-0-134, buff-on-1-0-0-134, consumable-bought-on-1-0-0-134, critical-strike-on-1-0-0-134, damage-dealt-on-1-0-0-134, damage-taken-on-1-0-0-134, death-assist-on-1-0-0-134, died-on-1-0-0-134, gold-earned-on-1-0-0-134, gold-spent-on-1-0-0-134, heal-cast-on-1-0-0-134, heal-on-1-0-0-134, item-bought-on-1-0-0-134, killing-spree-on-1-0-0-134, one-on-1-0-0-134)eventtakes 4 championKill, 6 singleKill, 7 doubleKill, 13 damageTaken, 14 damageDealt, 21 goldSpent, 22 goldEarned, 23 consumableBought, 24 criticalStrike, 27 inhibitorKilled, 28 inhibitorDied, 29 inhibitorRespawningSoon, 31 turretKilled, 32 turretDied, 33 minionKilled, 34 minionDenied, 35 monsterKilled, 36 largeMonsterKilled, 37 nexusKilled, 38 nexusDied, 39 heal, 40 healCast, 41 buff, 42 killingSpree, 49 killDuringSpree, 56 doubleKillDuringSpree, 57 tripleKillDuringSpree, 58 quadraKillDuringSpree, 61 deathAssist, 62 playerQuit, 63 playerLeft, 64 playerReconnected, 75 itemBought, 76 surrenderVoteStarted, 77 surrenderVoteCast, 78 surrenderAlreadyVoted, 79 surrenderCountdown, 80 surrenderFailed, 81 surrenderTooEarly, 82 surrenderAgreed, 83 surrenderVoteSpam, 86 minionsSpawned, 87 welcome, 88 startNoticeTwo, 89 startNoticeThree, 90 startNoticeFour, 91 startNoticeFive, 92 alert, 93 scoreboardOpened, 96 pointANeutralized, 97 pointBNeutralized, 98 pointCNeutralized, 99 pointDNeutralized, 100 pointENeutralized, 101 pointACaptured, 102 pointBCaptured, 103 pointCCaptured, 104 pointDCaptured, 105 pointECaptured in 1.0.0.134 and not in 1.0.0.133.eventtakes 4 championKillHandler, 5 championKill, 7 singleKill, 8 doubleKill, 14 damageTaken, 15 damageDealt, 22 goldSpent, 23 goldEarned, 24 consumableBought, 25 criticalStrike, 28 inhibitorKilled, 29 inhibitorDied, 30 inhibitorRespawningSoon, 32 turretKilled, 33 turretDied, 34 minionKilled, 35 minionDenied, 36 monsterKilled, 37 largeMonsterKilled, 38 nexusKilled, 39 nexusDied, 40 heal, 41 healCast, 42 buff, 43 killingSpree, 50 killDuringSpree, 57 doubleKillDuringSpree, 58 tripleKillDuringSpree, 59 quadraKillDuringSpree, 62 deathAssist, 63 playerQuit, 64 playerLeft, 65 playerReconnected, 76 itemBought, 77 surrenderVoteStarted, 78 surrenderVoteCast, 79 surrenderAlreadyVoted, 80 surrenderCountdown, 81 surrenderFailed, 82 surrenderTooEarly, 83 surrenderAgreed, 84 surrenderVoteSpam, 87 minionsSpawned, 88 welcome, 89 startNoticeTwo, 90 startNoticeThree, 91 startNoticeFour, 92 startNoticeFive, 93 alert, 94 scoreboardOpened, 97 pointANeutralized, 98 pointBNeutralized, 99 pointCNeutralized, 100 pointDNeutralized, 101 pointENeutralized, 102 pointACaptured, 103 pointBCaptured, 104 pointCCaptured, 105 pointDCaptured, 106 pointECaptured in 1.0.0.133 and not in 1.0.0.134.stageis present when event = 3 or 4 in 1.0.0.133, and present when event = 3 in 1.0.0.134.damageis present when event = 14 or 15 in 1.0.0.133, and present when event = 13 or 14 in 1.0.0.134.spentis present when event = 22 in 1.0.0.133, and present when event = 21 in 1.0.0.134.valueis present when event = 24 or 76 in 1.0.0.133, and present when event = 23 or 75 in 1.0.0.134.criticalis present when event = 25 in 1.0.0.133, and present when event = 24 in 1.0.0.134.spreeis present when event = 43 in 1.0.0.133, and present when event = 42 in 1.0.0.134.earnedis present when event = 23 in 1.0.0.133, and present when event = 22 in 1.0.0.134.healis present when event = 40 or 41 in 1.0.0.133, and present when event = 39 or 40 in 1.0.0.134.effectis present when event = 42 in 1.0.0.133, and present when event = 41 in 1.0.0.134.assistis present when event = 62 in 1.0.0.133, and present when event = 61 in 1.0.0.134.stageExtrais in 1.0.0.133 and not in 1.0.0.134.stagePaddingis in 1.0.0.133 and not in 1.0.0.134.
DeathHistory(vectors: one-on-1-0-0-134)entries[].eventtakes 4 championKill, 6 singleKill, 7 doubleKill, 13 damageTaken, 14 damageDealt, 21 goldSpent, 22 goldEarned, 23 consumableBought, 24 criticalStrike, 27 inhibitorKilled, 28 inhibitorDied, 29 inhibitorRespawningSoon, 31 turretKilled, 32 turretDied, 33 minionKilled, 34 minionDenied, 35 monsterKilled, 36 largeMonsterKilled, 37 nexusKilled, 38 nexusDied, 39 heal, 40 healCast, 41 buff, 42 killingSpree, 49 killDuringSpree, 56 doubleKillDuringSpree, 57 tripleKillDuringSpree, 58 quadraKillDuringSpree, 61 deathAssist, 62 playerQuit, 63 playerLeft, 64 playerReconnected, 75 itemBought, 79 surrenderCountdown, 86 minionsSpawned, 87 welcome, 88 startNoticeTwo, 89 startNoticeThree, 93 scoreboardOpened in 1.0.0.134 and not in 1.0.0.133.entries[].eventtakes 4 championKillHandler, 5 championKill, 7 singleKill, 8 doubleKill, 14 damageTaken, 15 damageDealt, 22 goldSpent, 23 goldEarned, 24 consumableBought, 25 criticalStrike, 28 inhibitorKilled, 29 inhibitorDied, 30 inhibitorRespawningSoon, 32 turretKilled, 33 turretDied, 34 minionKilled, 35 minionDenied, 36 monsterKilled, 37 largeMonsterKilled, 38 nexusKilled, 39 nexusDied, 40 heal, 41 healCast, 42 buff, 43 killingSpree, 50 killDuringSpree, 57 doubleKillDuringSpree, 58 tripleKillDuringSpree, 59 quadraKillDuringSpree, 62 deathAssist, 63 playerQuit, 64 playerLeft, 65 playerReconnected, 76 itemBought, 80 surrenderCountdown, 87 minionsSpawned, 88 welcome, 89 startNoticeTwo, 90 startNoticeThree, 94 scoreboardOpened in 1.0.0.133 and not in 1.0.0.134.entries[].stageis present when event = 3 or 4 in 1.0.0.133, and present when event = 3 in 1.0.0.134.entries[].damageis present when event = 14 or 15 in 1.0.0.133, and present when event = 13 or 14 in 1.0.0.134.entries[].spentis present when event = 22 in 1.0.0.133, and present when event = 21 in 1.0.0.134.entries[].valueis present when event = 24 or 76 in 1.0.0.133, and present when event = 23 or 75 in 1.0.0.134.entries[].criticalis present when event = 25 in 1.0.0.133, and present when event = 24 in 1.0.0.134.entries[].spreeis present when event = 43 in 1.0.0.133, and present when event = 42 in 1.0.0.134.entries[].earnedis present when event = 23 in 1.0.0.133, and present when event = 22 in 1.0.0.134.entries[].healis present when event = 40 or 41 in 1.0.0.133, and present when event = 39 or 40 in 1.0.0.134.entries[].effectis present when event = 42 in 1.0.0.133, and present when event = 41 in 1.0.0.134.entries[].assistis present when event = 62 in 1.0.0.133, and present when event = 61 in 1.0.0.134.entries[].stageExtrais in 1.0.0.133 and not in 1.0.0.134.entries[].stagePaddingis in 1.0.0.133 and not in 1.0.0.134.
PlayerDisconnected(vectors: one-on-1-0-0-134)flagsis in 1.0.0.134 (1-byte bits), afterchampion, and not in 1.0.0.133.
SeatLoadProgress(vectors: one-on-1-0-0-134)doneis in 1.0.0.133 and not in 1.0.0.134.
WorldEvent(vectors: another-on-1-0-0-134, buff-on-1-0-0-134, consumable-bought-on-1-0-0-134, critical-strike-on-1-0-0-134, damage-dealt-on-1-0-0-134, damage-taken-on-1-0-0-134, death-assist-on-1-0-0-134, died-on-1-0-0-134, gold-earned-on-1-0-0-134, gold-spent-on-1-0-0-134, heal-cast-on-1-0-0-134, heal-on-1-0-0-134, item-bought-on-1-0-0-134, killing-spree-on-1-0-0-134, one-on-1-0-0-134)eventtakes 4 championKill, 6 singleKill, 7 doubleKill, 13 damageTaken, 14 damageDealt, 21 goldSpent, 22 goldEarned, 23 consumableBought, 24 criticalStrike, 27 inhibitorKilled, 28 inhibitorDied, 29 inhibitorRespawningSoon, 31 turretKilled, 32 turretDied, 33 minionKilled, 34 minionDenied, 35 monsterKilled, 36 largeMonsterKilled, 37 nexusKilled, 38 nexusDied, 39 heal, 40 healCast, 41 buff, 42 killingSpree, 49 killDuringSpree, 56 doubleKillDuringSpree, 57 tripleKillDuringSpree, 58 quadraKillDuringSpree, 61 deathAssist, 62 playerQuit, 63 playerLeft, 64 playerReconnected, 75 itemBought, 79 surrenderCountdown, 86 minionsSpawned, 87 welcome, 88 startNoticeTwo, 89 startNoticeThree, 93 scoreboardOpened in 1.0.0.134 and not in 1.0.0.133.eventtakes 4 championKillHandler, 5 championKill, 7 singleKill, 8 doubleKill, 14 damageTaken, 15 damageDealt, 22 goldSpent, 23 goldEarned, 24 consumableBought, 25 criticalStrike, 28 inhibitorKilled, 29 inhibitorDied, 30 inhibitorRespawningSoon, 32 turretKilled, 33 turretDied, 34 minionKilled, 35 minionDenied, 36 monsterKilled, 37 largeMonsterKilled, 38 nexusKilled, 39 nexusDied, 40 heal, 41 healCast, 42 buff, 43 killingSpree, 50 killDuringSpree, 57 doubleKillDuringSpree, 58 tripleKillDuringSpree, 59 quadraKillDuringSpree, 62 deathAssist, 63 playerQuit, 64 playerLeft, 65 playerReconnected, 76 itemBought, 80 surrenderCountdown, 87 minionsSpawned, 88 welcome, 89 startNoticeTwo, 90 startNoticeThree, 94 scoreboardOpened in 1.0.0.133 and not in 1.0.0.134.stageis present when event = 3 or 4 in 1.0.0.133, and present when event = 3 in 1.0.0.134.damageis present when event = 14 or 15 in 1.0.0.133, and present when event = 13 or 14 in 1.0.0.134.spentis present when event = 22 in 1.0.0.133, and present when event = 21 in 1.0.0.134.valueis present when event = 24 or 76 in 1.0.0.133, and present when event = 23 or 75 in 1.0.0.134.criticalis present when event = 25 in 1.0.0.133, and present when event = 24 in 1.0.0.134.spreeis present when event = 43 in 1.0.0.133, and present when event = 42 in 1.0.0.134.earnedis present when event = 23 in 1.0.0.133, and present when event = 22 in 1.0.0.134.healis present when event = 40 or 41 in 1.0.0.133, and present when event = 39 or 40 in 1.0.0.134.effectis present when event = 42 in 1.0.0.133, and present when event = 41 in 1.0.0.134.assistis present when event = 62 in 1.0.0.133, and present when event = 61 in 1.0.0.134.stageExtrais in 1.0.0.133 and not in 1.0.0.134.stagePaddingis in 1.0.0.133 and not in 1.0.0.134.
1.0.0.135
Client builds from 1.0.0.135 up to, not including, 1.0.0.136. Patch notes: V1.0.0.135.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.135 | 10 | 0 | 4 | 09f351e | 2026-10-24 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: CampOpened, ContextEmote, CreateFollower, FollowerMaster, HoverIndicator, HoverTarget, MissileLaunched, MissileRetarget, ParticleEnterTeamSight, ShopEnabled, SoftReconnect, SpellSlotChanged, StreamRequest, SystemMessage, VoiceCommand.
Every message of this range (220)
Against 1.0.0.134
Where a build from 1.0.0.135 up to, not including, 1.0.0.136 differs from one from 1.0.0.134 up to, not including, 1.0.0.135. Anything not named here is the same in both.
In 1.0.0.135, not in 1.0.0.134
| Message | Sent by | Command | What it does |
|---|---|---|---|
AppearanceCleared | server | 212 on events | Take every look laid over a unit away |
BotKick | server | 234 on events | Have a client it takes for a program rather than a player leave the match |
SpellCharge | client | 244 on requests | What a client sends while its player charges a spell, and as the charge ends |
SpellRangeChanged | server | 243 on events | Change how far the spell in one of a unit’s slots is cast |
Commands
These differ only in their command. Each row is a run of commands moved by the same amount:
Laid out differently
AppearancePushed(vectors: one-on-1-0-0-135)- Its command is 160 in 1.0.0.134 and 162 in 1.0.0.135.
modelOnlyis in 1.0.0.135 (u8), afteroverrideSpells, and not in 1.0.0.134.
ClientEvent(vectors: another-on-1-0-0-135, buff-on-1-0-0-135, consumable-bought-on-1-0-0-135, critical-strike-on-1-0-0-135, damage-dealt-on-1-0-0-135, damage-taken-on-1-0-0-135, death-assist-on-1-0-0-135, died-on-1-0-0-135, gold-earned-on-1-0-0-135, gold-spent-on-1-0-0-135, heal-cast-on-1-0-0-135, heal-on-1-0-0-135, item-bought-on-1-0-0-135, item-callout-on-1-0-0-135, killing-spree-on-1-0-0-135, one-on-1-0-0-135)- Its command is 172 in 1.0.0.134 and 174 in 1.0.0.135.
eventtakes 76 itemCallout, 77 surrenderVoteStarted, 78 surrenderVoteCast, 79 surrenderAlreadyVoted, 80 surrenderCountdown, 81 surrenderFailed, 82 surrenderTooEarly, 83 surrenderAgreed, 84 surrenderVoteSpam, 87 minionsSpawned, 88 welcome, 89 startNoticeTwo, 90 startNoticeThree, 91 startNoticeFour, 92 startNoticeFive, 93 alert, 94 scoreboardOpened, 97 pointANeutralized, 98 pointBNeutralized, 99 pointCNeutralized, 100 pointDNeutralized, 101 pointENeutralized, 102 pointACaptured, 103 pointBCaptured, 104 pointCCaptured, 105 pointDCaptured, 106 pointECaptured in 1.0.0.135 and not in 1.0.0.134.eventtakes 76 surrenderVoteStarted, 77 surrenderVoteCast, 78 surrenderAlreadyVoted, 79 surrenderCountdown, 80 surrenderFailed, 81 surrenderTooEarly, 82 surrenderAgreed, 83 surrenderVoteSpam, 86 minionsSpawned, 87 welcome, 88 startNoticeTwo, 89 startNoticeThree, 90 startNoticeFour, 91 startNoticeFive, 92 alert, 93 scoreboardOpened, 96 pointANeutralized, 97 pointBNeutralized, 98 pointCNeutralized, 99 pointDNeutralized, 100 pointENeutralized, 101 pointACaptured, 102 pointBCaptured, 103 pointCCaptured, 104 pointDCaptured, 105 pointECaptured in 1.0.0.134 and not in 1.0.0.135.calloutis in 1.0.0.135 (record), afterkill.assists, and not in 1.0.0.134.
DeathHistoryentries[].eventtakes 76 itemCallout, 80 surrenderCountdown, 87 minionsSpawned, 88 welcome, 89 startNoticeTwo, 90 startNoticeThree, 94 scoreboardOpened in 1.0.0.135 and not in 1.0.0.134.entries[].eventtakes 79 surrenderCountdown, 86 minionsSpawned, 87 welcome, 88 startNoticeTwo, 89 startNoticeThree, 93 scoreboardOpened in 1.0.0.134 and not in 1.0.0.135.entries[].calloutis in 1.0.0.135 (record), afterentries[].kill.assists, and not in 1.0.0.134.
EmotePlayedemoteis u32 in 1.0.0.134 and u8 in 1.0.0.135.
InventorySlot- The same fields come in another order in 1.0.0.135.
ItemAddedhowis in 1.0.0.135 (1-byte bits), afteractivate, and not in 1.0.0.134.
MissileCourse(vectors: one-on-1-0-0-135)fromXis in 1.0.0.135 (f32), afterdriver, and not in 1.0.0.134.fromYis in 1.0.0.135 (f32), afterfromX, and not in 1.0.0.134.fromZis in 1.0.0.135 (f32), afterfromY, and not in 1.0.0.134.velocityXis in 1.0.0.135 (f32), afterfromZ, and not in 1.0.0.134.velocityYis in 1.0.0.135 (f32), aftervelocityX, and not in 1.0.0.134.velocityZis in 1.0.0.135 (f32), aftervelocityY, and not in 1.0.0.134.
PlayEmoteemoteis u32 in 1.0.0.134 and u8 in 1.0.0.135.
WorldEventeventtakes 76 itemCallout, 80 surrenderCountdown, 87 minionsSpawned, 88 welcome, 89 startNoticeTwo, 90 startNoticeThree, 94 scoreboardOpened in 1.0.0.135 and not in 1.0.0.134.eventtakes 79 surrenderCountdown, 86 minionsSpawned, 87 welcome, 88 startNoticeTwo, 89 startNoticeThree, 93 scoreboardOpened in 1.0.0.134 and not in 1.0.0.135.calloutis in 1.0.0.135 (record), afterkill.assists, and not in 1.0.0.134.
1.0.0.136–1.0.0.137
Client builds from 1.0.0.136 up to, not including, 1.0.0.138. Patch notes: V1.0.0.136.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.136 | 10 | 0 | 4 | 6bab11d | 2026-10-24 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: CampOpened, ContextEmote, CreateFollower, FollowerMaster, HoverIndicator, HoverTarget, MissileLaunched, MissileRetarget, ParticleEnterTeamSight, ShopEnabled, SoftReconnect, SpellSlotChanged, StreamRequest, SystemMessage, VoiceCommand.
Every message of this range (220)
Against 1.0.0.135
Where a build from 1.0.0.136 up to, not including, 1.0.0.138 differs from one from 1.0.0.135 up to, not including, 1.0.0.136. Anything not named here is the same in both.
Commands
These differ only in their command. Each row is a run of commands moved by the same amount:
Laid out differently
CampCleared(vectors: one-on-1-0-0-136)- Its command is 206 in 1.0.0.135 and 204 in 1.0.0.136–1.0.0.137.
doesis in 1.0.0.136–1.0.0.137 (1-byte bits), aftercamp, and not in 1.0.0.135.unitis in 1.0.0.135 and not in 1.0.0.136–1.0.0.137.activeis in 1.0.0.135 and not in 1.0.0.136–1.0.0.137.
FaceDirection(vectors: one-on-1-0-0-136)howis in 1.0.0.136–1.0.0.137 (1-byte bits), aftertowardZ, and not in 1.0.0.135.
FacePosition(vectors: one-on-1-0-0-136)unusedis in 1.0.0.136–1.0.0.137 (u8), afterdirectionZ, and not in 1.0.0.135.
MissileCourseunusedis in 1.0.0.136–1.0.0.137 (u8) at the start, and not in 1.0.0.135.driveris in 1.0.0.135 and not in 1.0.0.136–1.0.0.137.kindis in 1.0.0.135 and not in 1.0.0.136–1.0.0.137.targetis in 1.0.0.135 and not in 1.0.0.136–1.0.0.137.heightis in 1.0.0.135 and not in 1.0.0.136–1.0.0.137.targetXis in 1.0.0.135 and not in 1.0.0.136–1.0.0.137.targetYis in 1.0.0.135 and not in 1.0.0.136–1.0.0.137.targetZis in 1.0.0.135 and not in 1.0.0.136–1.0.0.137.motionAis in 1.0.0.135 and not in 1.0.0.136–1.0.0.137.motionBis in 1.0.0.135 and not in 1.0.0.136–1.0.0.137.motionCis in 1.0.0.135 and not in 1.0.0.136–1.0.0.137.motionDis in 1.0.0.135 and not in 1.0.0.136–1.0.0.137.lastis in 1.0.0.135 and not in 1.0.0.136–1.0.0.137.
1.0.0.138
Client builds from 1.0.0.138 up to, not including, 1.0.0.139. Patch notes: V1.0.0.138.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.138 | 10 | 0 | 4 | e70d7e2 | 2026-10-24 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: ContextEmote, CreateFollower, FollowerMaster, HoverIndicator, HoverTarget, MissileLaunched, MissileRetarget, ParticleEnterTeamSight, ShopEnabled, SoftReconnect, SpellRangeChanged, SpellSlotChanged, StreamRequest, SystemMessage.
Every message of this range (221)
Against 1.0.0.136–1.0.0.137
Where a build from 1.0.0.138 up to, not including, 1.0.0.139 differs from one from 1.0.0.136 up to, not including, 1.0.0.138. Anything not named here is the same in both.
In 1.0.0.138, not in 1.0.0.136–1.0.0.137
| Message | Sent by | Command | What it does |
|---|---|---|---|
CampOpened | server | 246 on events | Open a camp of units that belong to no side |
VoiceCommand | server | 74 on events | What a server sends about a voice command a champion gave |
In 1.0.0.136–1.0.0.137, not in 1.0.0.138
| Message | Sent by | Command it had |
|---|---|---|
SpellRangeChanged | server | 241 on events |
Commands
These differ only in their command. Each row is a run of commands moved by the same amount:
Laid out differently
BuildingDied(vectors: one-on-1-0-0-138)- Its command is 143 in 1.0.0.136–1.0.0.137 and 145 in 1.0.0.138.
lastChampionis in 1.0.0.138 (u32), afterattacker, and not in 1.0.0.136–1.0.0.137.
CampCleared(vectors: one-on-1-0-0-138)- Its command is 204 in 1.0.0.136–1.0.0.137 and 206 in 1.0.0.138.
killeris in 1.0.0.138 (u32) at the start, and not in 1.0.0.136–1.0.0.137.doesnames bit 0activein 1.0.0.136–1.0.0.137 andspeakin 1.0.0.138.
ClientEvent(vectors: buff-on-1-0-0-138, consumable-bought-on-1-0-0-138, critical-strike-on-1-0-0-138, damage-dealt-on-1-0-0-138, damage-taken-on-1-0-0-138, death-assist-on-1-0-0-138, died-on-1-0-0-138, gold-earned-on-1-0-0-138, gold-spent-on-1-0-0-138, heal-cast-on-1-0-0-138, heal-on-1-0-0-138, item-bought-on-1-0-0-138, item-callout-on-1-0-0-138, killing-spree-on-1-0-0-138, one-on-1-0-0-138, removed-on-1-0-0-138)- Its command is 172 in 1.0.0.136–1.0.0.137 and 174 in 1.0.0.138.
eventtakes 0 removed, 1 died, 3 championDied, 5 championKill, 7 singleKill, 8 doubleKill, 14 damageTaken, 15 damageDealt, 22 goldSpent, 23 goldEarned, 24 consumableBought, 25 criticalStrike, 28 inhibitorKilled, 29 inhibitorDied, 30 inhibitorRespawningSoon, 32 turretKilled, 33 turretDied, 34 minionKilled, 35 minionDenied, 36 monsterKilled, 37 largeMonsterKilled, 38 nexusKilled, 39 nexusDied, 40 heal, 41 healCast, 42 buff, 43 killingSpree, 50 killDuringSpree, 57 doubleKillDuringSpree, 58 tripleKillDuringSpree, 59 quadraKillDuringSpree, 62 deathAssist, 63 playerQuit, 64 playerLeft, 65 playerReconnected, 76 itemBought, 77 itemCallout, 78 surrenderVoteStarted, 79 surrenderVoteCast, 80 surrenderAlreadyVoted, 81 surrenderCountdown, 82 surrenderFailed, 83 surrenderTooEarly, 84 surrenderAgreed, 85 surrenderVoteSpam, 88 minionsSpawned, 89 welcome, 90 startNoticeTwo, 91 startNoticeThree, 92 startNoticeFour, 93 startNoticeFive, 94 alert, 95 scoreboardOpened, 98 pointANeutralized, 99 pointBNeutralized, 100 pointCNeutralized, 101 pointDNeutralized, 102 pointENeutralized, 103 pointACaptured, 104 pointBCaptured, 105 pointCCaptured, 106 pointDCaptured, 107 pointECaptured, 113 particleLimit in 1.0.0.138 and not in 1.0.0.136–1.0.0.137.eventtakes 0 died, 2 championDied, 4 championKill, 6 singleKill, 7 doubleKill, 13 damageTaken, 14 damageDealt, 21 goldSpent, 22 goldEarned, 23 consumableBought, 24 criticalStrike, 27 inhibitorKilled, 28 inhibitorDied, 29 inhibitorRespawningSoon, 31 turretKilled, 32 turretDied, 33 minionKilled, 34 minionDenied, 35 monsterKilled, 36 largeMonsterKilled, 37 nexusKilled, 38 nexusDied, 39 heal, 40 healCast, 41 buff, 42 killingSpree, 49 killDuringSpree, 56 doubleKillDuringSpree, 57 tripleKillDuringSpree, 58 quadraKillDuringSpree, 61 deathAssist, 62 playerQuit, 63 playerLeft, 64 playerReconnected, 75 itemBought, 76 itemCallout, 77 surrenderVoteStarted, 78 surrenderVoteCast, 79 surrenderAlreadyVoted, 80 surrenderCountdown, 81 surrenderFailed, 82 surrenderTooEarly, 83 surrenderAgreed, 84 surrenderVoteSpam, 87 minionsSpawned, 88 welcome, 89 startNoticeTwo, 90 startNoticeThree, 91 startNoticeFour, 92 startNoticeFive, 93 alert, 94 scoreboardOpened, 97 pointANeutralized, 98 pointBNeutralized, 99 pointCNeutralized, 100 pointDNeutralized, 101 pointENeutralized, 102 pointACaptured, 103 pointBCaptured, 104 pointCCaptured, 105 pointDCaptured, 106 pointECaptured in 1.0.0.136–1.0.0.137 and not in 1.0.0.138.otheris in 1.0.0.138 (u32), aftersubject, and not in 1.0.0.136–1.0.0.137.stageis present when event = 3 in 1.0.0.136–1.0.0.137, and present when event = 4 in 1.0.0.138.damageis present when event = 13 or 14 in 1.0.0.136–1.0.0.137, and present when event = 14 or 15 in 1.0.0.138.spentis present when event = 21 in 1.0.0.136–1.0.0.137, and present when event = 22 in 1.0.0.138.valueis present when event = 23 or 75 in 1.0.0.136–1.0.0.137, and present when event = 24 or 76 in 1.0.0.138.criticalis present when event = 24 in 1.0.0.136–1.0.0.137, and present when event = 25 in 1.0.0.138.spreeis present when event = 42 in 1.0.0.136–1.0.0.137, and present when event = 43 in 1.0.0.138.earnedis present when event = 22 in 1.0.0.136–1.0.0.137, and present when event = 23 in 1.0.0.138.healis present when event = 39 or 40 in 1.0.0.136–1.0.0.137, and present when event = 40 or 41 in 1.0.0.138.effectis present when event = 41 in 1.0.0.136–1.0.0.137, and present when event = 42 in 1.0.0.138.assistis present when event = 61 in 1.0.0.136–1.0.0.137, and present when event = 62 in 1.0.0.138.killis present when event = 0 in 1.0.0.136–1.0.0.137, and present when event = 1 in 1.0.0.138.calloutis present when event = 76 in 1.0.0.136–1.0.0.137, and present when event = 77 in 1.0.0.138.callout.sideis in 1.0.0.138 (u32), aftercallout.second, and not in 1.0.0.136–1.0.0.137.
CreateNeutral- Its command is 103 in 1.0.0.136–1.0.0.137 and 105 in 1.0.0.138.
effectSideis in 1.0.0.138 (u32), aftercamp, and not in 1.0.0.136–1.0.0.137.revealEventis in 1.0.0.138 (i32), aftereffectSide, and not in 1.0.0.136–1.0.0.137.
Damage- Its command is 105 in 1.0.0.136–1.0.0.137 and 107 in 1.0.0.138.
damageKindis in 1.0.0.138 (1-byte bits), afteramount, and not in 1.0.0.136–1.0.0.137.
DeathHistoryentries[].eventtakes 0 removed, 1 died, 3 championDied, 5 championKill, 7 singleKill, 8 doubleKill, 14 damageTaken, 15 damageDealt, 22 goldSpent, 23 goldEarned, 24 consumableBought, 25 criticalStrike, 28 inhibitorKilled, 29 inhibitorDied, 30 inhibitorRespawningSoon, 32 turretKilled, 33 turretDied, 34 minionKilled, 35 minionDenied, 36 monsterKilled, 37 largeMonsterKilled, 38 nexusKilled, 39 nexusDied, 40 heal, 41 healCast, 42 buff, 43 killingSpree, 50 killDuringSpree, 57 doubleKillDuringSpree, 58 tripleKillDuringSpree, 59 quadraKillDuringSpree, 62 deathAssist, 63 playerQuit, 64 playerLeft, 65 playerReconnected, 76 itemBought, 77 itemCallout, 81 surrenderCountdown, 88 minionsSpawned, 89 welcome, 90 startNoticeTwo, 91 startNoticeThree, 95 scoreboardOpened, 113 particleLimit in 1.0.0.138 and not in 1.0.0.136–1.0.0.137.entries[].eventtakes 0 died, 2 championDied, 4 championKill, 6 singleKill, 7 doubleKill, 13 damageTaken, 14 damageDealt, 21 goldSpent, 22 goldEarned, 23 consumableBought, 24 criticalStrike, 27 inhibitorKilled, 28 inhibitorDied, 29 inhibitorRespawningSoon, 31 turretKilled, 32 turretDied, 33 minionKilled, 34 minionDenied, 35 monsterKilled, 36 largeMonsterKilled, 37 nexusKilled, 38 nexusDied, 39 heal, 40 healCast, 41 buff, 42 killingSpree, 49 killDuringSpree, 56 doubleKillDuringSpree, 57 tripleKillDuringSpree, 58 quadraKillDuringSpree, 61 deathAssist, 62 playerQuit, 63 playerLeft, 64 playerReconnected, 75 itemBought, 76 itemCallout, 80 surrenderCountdown, 87 minionsSpawned, 88 welcome, 89 startNoticeTwo, 90 startNoticeThree, 94 scoreboardOpened in 1.0.0.136–1.0.0.137 and not in 1.0.0.138.entries[].stageis present when event = 3 in 1.0.0.136–1.0.0.137, and present when event = 4 in 1.0.0.138.entries[].damageis present when event = 13 or 14 in 1.0.0.136–1.0.0.137, and present when event = 14 or 15 in 1.0.0.138.entries[].spentis present when event = 21 in 1.0.0.136–1.0.0.137, and present when event = 22 in 1.0.0.138.entries[].valueis present when event = 23 or 75 in 1.0.0.136–1.0.0.137, and present when event = 24 or 76 in 1.0.0.138.entries[].criticalis present when event = 24 in 1.0.0.136–1.0.0.137, and present when event = 25 in 1.0.0.138.entries[].spreeis present when event = 42 in 1.0.0.136–1.0.0.137, and present when event = 43 in 1.0.0.138.entries[].earnedis present when event = 22 in 1.0.0.136–1.0.0.137, and present when event = 23 in 1.0.0.138.entries[].healis present when event = 39 or 40 in 1.0.0.136–1.0.0.137, and present when event = 40 or 41 in 1.0.0.138.entries[].effectis present when event = 41 in 1.0.0.136–1.0.0.137, and present when event = 42 in 1.0.0.138.entries[].assistis present when event = 61 in 1.0.0.136–1.0.0.137, and present when event = 62 in 1.0.0.138.entries[].killis present when event = 0 in 1.0.0.136–1.0.0.137, and present when event = 1 in 1.0.0.138.entries[].calloutis present when event = 76 in 1.0.0.136–1.0.0.137, and present when event = 77 in 1.0.0.138.entries[].callout.sideis in 1.0.0.138 (u32), afterentries[].callout.second, and not in 1.0.0.136–1.0.0.137.
EffectRemoved- Its command is 128 in 1.0.0.136–1.0.0.137 and 130 in 1.0.0.138.
timeLeftis in 1.0.0.138 (f32), aftereffect, and not in 1.0.0.136–1.0.0.137.
EffectRemovedGroup(vectors: one-on-1-0-0-138)- Its command is 156 in 1.0.0.136–1.0.0.137 and 158 in 1.0.0.138.
entries[].timeLeftis in 1.0.0.138 (f32), afterentries[].slot, and not in 1.0.0.136–1.0.0.137.
EnterLocalSight(vectors: another-on-1-0-0-138, one-on-1-0-0-138)- Its command is 182 in 1.0.0.136–1.0.0.137 and 184 in 1.0.0.138.
carriedis in 1.0.0.138 (2-byte bits) at the start, and not in 1.0.0.136–1.0.0.137.messagesis in 1.0.0.138 (sized by carried.size × CarriedMessage), aftercarried, and not in 1.0.0.136–1.0.0.137.
EnterSight(vectors: a-fifth-on-1-0-0-138, a-fourth-on-1-0-0-138, a-third-on-1-0-0-138, another-on-1-0-0-138, one-on-1-0-0-138)- Its command is 195 in 1.0.0.136–1.0.0.137 and 197 in 1.0.0.138.
carriedis in 1.0.0.138 (2-byte bits) at the start, and not in 1.0.0.136–1.0.0.137.messagesis in 1.0.0.138 (sized by carried.size × CarriedMessage), aftercarried, and not in 1.0.0.136–1.0.0.137.view.appearanceCountis in 1.0.0.138 (u32), afterview.shield, and not in 1.0.0.136–1.0.0.137.view.appearanceis in 1.0.0.138 (count in appearanceCount × Appearance), afterview.appearanceCount, and not in 1.0.0.136–1.0.0.137.view.targetableis in 1.0.0.138 (u8), afterview.appearance, and not in 1.0.0.136–1.0.0.137.view.targetableToTeamis in 1.0.0.138 (u32), afterview.targetable, and not in 1.0.0.136–1.0.0.137.
FloatingTextstyleis in 1.0.0.138 (u32), aftercolour, and not in 1.0.0.136–1.0.0.137.
ItemAdded- Its command is 115 in 1.0.0.136–1.0.0.137 and 117 in 1.0.0.138.
activateis in 1.0.0.136–1.0.0.137 and not in 1.0.0.138.
MissileReportspeedis in 1.0.0.138 (f32), afterage, and not in 1.0.0.136–1.0.0.137.
MissileStateageis in 1.0.0.138 (f32), afterunitAtZ, and not in 1.0.0.136–1.0.0.137.
MoveOrder(vectors: a-path-of-3-points-on-1-0-0-138, hold-on-1-0-0-138, one-on-1-0-0-138)- Its command is 118 in 1.0.0.136–1.0.0.137 and 120 in 1.0.0.138.
targetYis in 1.0.0.136–1.0.0.137 and not in 1.0.0.138.
PingPlacedhownames bit 7unusedin 1.0.0.136–1.0.0.137 andspeakin 1.0.0.138.
SpawnPet(vectors: one-on-1-0-0-138)owneris in 1.0.0.138 (u32) at the start, and not in 1.0.0.136–1.0.0.137.petis in 1.0.0.136–1.0.0.137 and not in 1.0.0.138.
SpellCastAnswer(vectors: one-on-1-0-0-138)- Its command is 190 in 1.0.0.136–1.0.0.137 and 192 in 1.0.0.138.
endChargeis in 1.0.0.138 (u8), aftersyncId, and not in 1.0.0.136–1.0.0.137.
SpellCharge(vectors: one-on-1-0-0-138)- Its command is 242 in 1.0.0.136–1.0.0.137 and 243 in 1.0.0.138.
endis in 1.0.0.138 (u8), afterflags, and not in 1.0.0.136–1.0.0.137.
StopAnimationanimationis in 1.0.0.138 (text, ended by a zero byte), afterflags, and not in 1.0.0.136–1.0.0.137.
UnitDied(vectors: one-on-1-0-0-138)- Its command is 167 in 1.0.0.136–1.0.0.137 and 169 in 1.0.0.138.
kindis in 1.0.0.138 (u8), afterstanding, and not in 1.0.0.136–1.0.0.137.
UnitSpokeunusedToois in 1.0.0.138 (u32), afterunused, and not in 1.0.0.136–1.0.0.137.
VoiceEvent- Its command is 126 in 1.0.0.136–1.0.0.137 and 128 in 1.0.0.138.
kindis in 1.0.0.138 (u8), aftercallback, and not in 1.0.0.136–1.0.0.137.
WorldEvent- Its command is 75 in 1.0.0.136–1.0.0.137 and 76 in 1.0.0.138.
eventtakes 0 removed, 1 died, 3 championDied, 5 championKill, 7 singleKill, 8 doubleKill, 14 damageTaken, 15 damageDealt, 22 goldSpent, 23 goldEarned, 24 consumableBought, 25 criticalStrike, 28 inhibitorKilled, 29 inhibitorDied, 30 inhibitorRespawningSoon, 32 turretKilled, 33 turretDied, 34 minionKilled, 35 minionDenied, 36 monsterKilled, 37 largeMonsterKilled, 38 nexusKilled, 39 nexusDied, 40 heal, 41 healCast, 42 buff, 43 killingSpree, 50 killDuringSpree, 57 doubleKillDuringSpree, 58 tripleKillDuringSpree, 59 quadraKillDuringSpree, 62 deathAssist, 63 playerQuit, 64 playerLeft, 65 playerReconnected, 76 itemBought, 77 itemCallout, 81 surrenderCountdown, 88 minionsSpawned, 89 welcome, 90 startNoticeTwo, 91 startNoticeThree, 95 scoreboardOpened, 113 particleLimit in 1.0.0.138 and not in 1.0.0.136–1.0.0.137.eventtakes 0 died, 2 championDied, 4 championKill, 6 singleKill, 7 doubleKill, 13 damageTaken, 14 damageDealt, 21 goldSpent, 22 goldEarned, 23 consumableBought, 24 criticalStrike, 27 inhibitorKilled, 28 inhibitorDied, 29 inhibitorRespawningSoon, 31 turretKilled, 32 turretDied, 33 minionKilled, 34 minionDenied, 35 monsterKilled, 36 largeMonsterKilled, 37 nexusKilled, 38 nexusDied, 39 heal, 40 healCast, 41 buff, 42 killingSpree, 49 killDuringSpree, 56 doubleKillDuringSpree, 57 tripleKillDuringSpree, 58 quadraKillDuringSpree, 61 deathAssist, 62 playerQuit, 63 playerLeft, 64 playerReconnected, 75 itemBought, 76 itemCallout, 80 surrenderCountdown, 87 minionsSpawned, 88 welcome, 89 startNoticeTwo, 90 startNoticeThree, 94 scoreboardOpened in 1.0.0.136–1.0.0.137 and not in 1.0.0.138.stageis present when event = 3 in 1.0.0.136–1.0.0.137, and present when event = 4 in 1.0.0.138.damageis present when event = 13 or 14 in 1.0.0.136–1.0.0.137, and present when event = 14 or 15 in 1.0.0.138.spentis present when event = 21 in 1.0.0.136–1.0.0.137, and present when event = 22 in 1.0.0.138.valueis present when event = 23 or 75 in 1.0.0.136–1.0.0.137, and present when event = 24 or 76 in 1.0.0.138.criticalis present when event = 24 in 1.0.0.136–1.0.0.137, and present when event = 25 in 1.0.0.138.spreeis present when event = 42 in 1.0.0.136–1.0.0.137, and present when event = 43 in 1.0.0.138.earnedis present when event = 22 in 1.0.0.136–1.0.0.137, and present when event = 23 in 1.0.0.138.healis present when event = 39 or 40 in 1.0.0.136–1.0.0.137, and present when event = 40 or 41 in 1.0.0.138.effectis present when event = 41 in 1.0.0.136–1.0.0.137, and present when event = 42 in 1.0.0.138.assistis present when event = 61 in 1.0.0.136–1.0.0.137, and present when event = 62 in 1.0.0.138.killis present when event = 0 in 1.0.0.136–1.0.0.137, and present when event = 1 in 1.0.0.138.calloutis present when event = 76 in 1.0.0.136–1.0.0.137, and present when event = 77 in 1.0.0.138.callout.sideis in 1.0.0.138 (u32), aftercallout.second, and not in 1.0.0.136–1.0.0.137.
Chapters
- In the joining chapter, a passage holds for 1.0.0.138 and not 1.0.0.136–1.0.0.137: A turret’s
CreateTurretcan come on its own or inside theEnterSightthat brings the turret into view. - In the units chapter, a passage holds for 1.0.0.138 and not 1.0.0.136–1.0.0.137: Several of these arrive on their own or inside the
EnterSightthat brings the unit into view (see Vision): a client takes either. - In the vision chapter, a passage holds for 1.0.0.138 and not 1.0.0.136–1.0.0.137:
EnterSightcan also carry whole messages of the game family, such as theCreateTurretorCreateNeutralthat makes the unit, each taking effect as though it had arrived on its own.
Only notes
These read the same on the wire, and only their notes change. What each says in 1.0.0.138:
VoiceEventDone, its layout: “It answers only a voice event of kind 0, and a client sends it at once where it could not play the event.”, where 1.0.0.136–1.0.0.137 has “A client sends it at once where it could not play the event.”
1.0.0.139
Client builds from 1.0.0.139 up to, not including, 1.0.0.140. Patch notes: V1.0.0.139.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.139 | 10 | 0 | 4 | 853ee40 | 2026-10-24 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: ContextEmote, CreateFollower, FollowerMaster, HoverIndicator, HoverTarget, MissileLaunched, MissileRetarget, ShopEnabled, SoftReconnect, SpellRangeChanged, SpellSlotChanged, StreamRequest, SystemMessage.
Every message of this range (221)
Against 1.0.0.138
Where a build from 1.0.0.139 up to, not including, 1.0.0.140 differs from one from 1.0.0.138 up to, not including, 1.0.0.139. Anything not named here is the same in both.
In 1.0.0.139, not in 1.0.0.138
| Message | Sent by | Command | What it does |
|---|---|---|---|
ParticleEnterTeamSight | server | 237 on events | What a server sends as a particle comes into what one side can see |
In 1.0.0.138, not in 1.0.0.139
| Message | Sent by | Command it had |
|---|---|---|
Announcement | server | 136 on events |
Commands
These differ only in their command. Each row is a run of commands moved by the same amount:
Only notes
These read the same on the wire, and only their notes change. What each says in 1.0.0.139:
RegionAdded, its layout: “A region grants sight, blocks the way, or grows cover. A region matching one the client holds in clientId (after taking 4294967294 as 4294967295), sightRadius, the first three bits of does, extra, otherExtra and position only resets that one’s lifetime to the new one; its id is not compared, and nothing new is added.”, where 1.0.0.138 has “A region grants sight, blocks the way, or grows cover.”RegionAdded,clientId: “The client the region belongs to where kind is 2. A client takes 4294967294 as 4294967295, no client.”, where 1.0.0.138 has “Unused; a client reads nothing here.”RegionAdded,marker: “The region’s id, which RegionRemoved names; 0 has the client pick one of its own.”, where 1.0.0.138 has “The region’s id, which RegionRemoved names; 4294967295 has the client pick one of its own. A region sent again with the same id, kind and radius changes the one held rather than adding another.”RegionAdded,does.unused: “Unused; a server writes zero. A client clears it itself before storing the region.”, where 1.0.0.138 has “Unused; a server writes zero.”RegionAdded,extra: “Kept with the region as it stands, and compared in matching a region already held; what else it does is not recorded. A server writes zero.”, where 1.0.0.138 has “Kept with the region as it stands; what it does is not recorded. A server writes zero.”RegionAdded,otherExtra: “Kept and compared the same way; a server writes zero.”, where 1.0.0.138 has “Kept the same way; a server writes zero.”RegionAttached, its layout: “A region matching one the client holds in kind, sightRadius, the first three bits of does (as the client sets them itself), extra, otherExtra and unit only has its lifetime replaced by the new one; marker and clientId are not compared, and nothing new is added.”, where 1.0.0.138 has “A region matching one the client holds in view, sightRadius, the first three bits of does, marker, sightFrom and unit only gives that one the new lifetime.”RegionAttached,clientId: “The client the region belongs to where kind is 2. A client takes 4294967294 as 4294967295, no client.”, where 1.0.0.138 has “Unused; a client reads nothing here.”RegionAttached,unit: “The unit the region follows. Where the client does not hold the unit, it drops the whole message and makes no region.”, where 1.0.0.138 has “The unit the region follows. A client takes the region even where it does not hold the unit.”RegionAttached,lifetime: “How long it lasts, in seconds. A client counts it down and removes the region once it reaches zero or less; one that starts at zero or less goes at the client’s next update.”, where 1.0.0.138 has “How long it lasts, in seconds. A client counts it down and removes the region once it reaches zero or less. Whether one that starts at zero or less is kept is not recorded.”RegionAttached,marker: “The region’s id, which RegionRemoved names; 4294967295 has the client pick one of its own.”, where 1.0.0.138 has “The region’s id, which RegionRemoved names; 4294967295 has the client pick one of its own. A region sent again with the same id, kind and radius changes the one held rather than adding another.”RegionAttached,extra: “Kept with the region, and compared in matching a region already held, so a region differing only here is added as a new one. A server writes zero.”, where 1.0.0.138 has “Kept with the region as it stands; what it does is not recorded. A server writes zero.”RegionAttached,otherExtra: “Kept and compared the same way; a server writes zero.”, where 1.0.0.138 has “Kept the same way; a server writes zero.”
1.0.0.140
Client builds from 1.0.0.140 up to, not including, 1.0.0.141. Patch notes: V1.0.0.140.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.140 | 10 | 0 | 4 | 4f28511 | 2026-10-24 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: ContextEmote, CreateFollower, FollowerMaster, HoverIndicator, HoverTarget, MissileLaunched, ShopEnabled, SoftReconnect, SpellRangeChanged, SpellSlotChanged, StreamRequest, SystemMessage.
Every message of this range (222)
Against 1.0.0.139
Where a build from 1.0.0.140 up to, not including, 1.0.0.141 differs from one from 1.0.0.139 up to, not including, 1.0.0.140. Anything not named here is the same in both.
In 1.0.0.140, not in 1.0.0.139
| Message | Sent by | Command | What it does |
|---|---|---|---|
MissileRetarget | server | 246 on events | Change what a missile flies at |
Laid out differently
AutocastcriticalSlotis in 1.0.0.140 (i8), afterslot, and not in 1.0.0.139.
ClientEventeventtakes 116 particleLimit in 1.0.0.140 and not in 1.0.0.139.eventtakes 113 particleLimit in 1.0.0.139 and not in 1.0.0.140.
DeathHistory(vectors: one-on-1-0-0-140)entries[].eventtakes 116 particleLimit in 1.0.0.140 and not in 1.0.0.139.entries[].eventtakes 113 particleLimit in 1.0.0.139 and not in 1.0.0.140.
ModulePacket(vectors: one-on-1-0-0-140)kindis u16 in 1.0.0.139 and u8 in 1.0.0.140.extrais in 1.0.0.140 (u8), afterkind, and not in 1.0.0.139.datais bytes, 1024 in 1.0.0.139 and bytes, sized by length in 1.0.0.140.
SpawnUnit(vectors: one-on-1-0-0-140)flagshaslaneMinionat bit 2 in 1.0.0.140, and not in 1.0.0.139.flags.botis at bit 2 in 1.0.0.139 and at bit 3 in 1.0.0.140.flags.targetableis at bit 3 in 1.0.0.139 and at bit 4 in 1.0.0.140.flags.unusedis at bit 4, 4 bits wide, in 1.0.0.139 and at bit 5, 3 bits wide, in 1.0.0.140.
VersionSyncreportinghasmatchedat bit 1 in 1.0.0.140, and not in 1.0.0.139.reporting.unusedis at bit 1, 7 bits wide, in 1.0.0.139 and at bit 2, 6 bits wide, in 1.0.0.140.
WorldEventeventtakes 116 particleLimit in 1.0.0.140 and not in 1.0.0.139.eventtakes 113 particleLimit in 1.0.0.139 and not in 1.0.0.140.
Chapters
- In the objects chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: No region id stands for no region.
- In the objects chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: Nothing a player sees depends on it.
- In the objects chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: | Map | Holds | | —–– | ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– | | 1, 2, 6 | the six
Barracksnames,HQ_T1,HQ_T2,orderShop01,chaosShop01, spawn points named__P_…| | 3 |Barracks_T1_C1,Barracks_T2_C1,HQ_T1,HQ_T2,OrderShop01,ChaosShop01,____P_Chaos_Spawn_Barracks__C01| | 4 |Barracks_T1_L1,Barracks_T1_R1,Barracks_T2_L1,Barracks_T2_R1,HQ_T1,HQ_T2,OrderShop01,ChaosShop01, spawn points named__P_…| | 8 |orderShop01,chaosShop01| - In the space chapter, a passage holds for 1.0.0.140 and not 1.0.0.139:
FaceDirectionturns the unit at once where bit 0 of its flags is clear, and toward that direction at its own pace where it is set. - In the space chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: A client has data for maps 1 to 4, 6 and 8: |
map| Origin of its paths | | —– | —————–– | | 1 | 6991, 7223 | | 2 | 6991, 7223 | | 3 | 7479, 7147 | | 4 | 6710, 6696 | | 6 | 6991, 7223 | | 8 | 6947, 6609 | - In the values chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: A cast’s slot also takes 64 to 69, for a basic attack: 64 is the champion’s basic attack, 65 to 67 its other basic attacks, 68 its critical attack and 69 a miss.
- In the values chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: A champion’s own book ends at slot 51.
- In the data chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: The client has maps 1, 2, 3, 4, 6 and 8.
- In the data chapter, a passage holds for 1.0.0.140 and not 1.0.0.139:
CreateTurretnames a building by its name with_Aafter it. - In the data chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: A client fails on a
CreateTurretnaming no building, and a server MUST NOT send one. - In the data chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: In the section’s name, n is how many players and bots the side has.
- In the data chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: A champion’s spells and attacks are in
DATA/Spells/<Spell>.inibinwith all other spells. - In the joining chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: A client writes its own client id where its player id goes in
LoadingProgress, in the low four bytes with zeros above. - In the joining chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: A card draws a seat’s
icononly where it is 0 or more. - In the vision chapter, a passage holds for 1.0.0.140 and not 1.0.0.139:
EnterSightstates everything a client needs to draw the unit at once: its looks, its shields, where it stands or which path it walks, and, in what follows, its health and resource. - In the vision chapter, a passage holds for 1.0.0.140 and not 1.0.0.139:
EnterLocalSightstates the unit’s resource beside its health. - In the movement chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: A server MUST send the
WaypointGroupthat answers aMoveOrderon the transient channel. - In the movement chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: A server MUST NOT send
NavigationFlags: a client fails on the first one a match brings. - In the replication chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: ## A champion | Group | Bits | Value | Type | | —– | –––– | —————————————————————————————————— | —– | | 0 | 0 | Gold in hand | float | | 0 | 1 to 2 | Which slots can be cast from: the champion’s own, then the second set | u32 | | 0 | 3 to 6 | What the spell in slots 0 to 3 costs | float | | 0 | 7 to 14 | What the spell in slots 42 to 49 costs | float | | 0 | 15 to 16 | What the spell in slots 0 and 1 of the second set costs | float | | 1 | 0 | What the champion is doing, as a set of bits | u32 | | 1 | 1 to 3 | Whether it is proof against spells, proof against all harm, and proof against strikes | u32 | | 1 | 4 | Damage it deals by striking | float | | 1 | 5 | Damage its spells deal before modifiers | float | | 1 | 6 | How often it turns a blow aside | float | | 1 | 7 | How often it strikes critically | float | | 1 | 8 | Armour | float | | 1 | 9 | Spell resistance | float | | 1 | 10 to 11 | How fast health and resource return | float | | 1 | 12 | How far it strikes from | float | | 1 | 13 to 15 | Flat and percent modifiers on the damage it strikes with, then the flat modifier on its spells’ damage | float | | 1 | 16 to 17 | Flat and percent reduction of the spell damage it takes | float | | 1 | 18 | A multiplier on how fast it strikes | float | | 1 | 19 | A flat addition to how far it casts | float | | 1 | 20 | A modifier on its cooldowns | float | | 1 | 21 to 22 | How much armour it cuts through, flat then as a percent | float | | 1 | 23 to 24 | How much spell resistance it cuts through, flat then as a percent | float | | 1 | 25 | Life steal | float | | 1 | 26 | Spell vamp | float | | 3 | 0 to 1 | Health and resource as they stand | float | | 3 | 2 to 3 | Health and resource at their greatest | float | | 3 | 4 | Experience | float | | 3 | 5 to 6 | A flat and a percent addition to how far it sees | float | | 3 | 7 | How fast it moves | float | | 3 | 8 | A value whose meaning is not recorded | float | | 3 | 9 | Level | u32 | | 3 | 10 | Kills taken from no side | u32 | Bit n of either set of slots that can be cast from stands for slot n.
- In the replication chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: A server grants experience with
ExperienceGained, and MUST name a champion in it: a client fails on one naming any other unit. - In the match chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: A client shows a tournament’s hold, crediting the seat that asked, where the message says it is one.
- In the match chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: A client announces in chat who resumed the match.
- In the match chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: Input stays locked during the countdown.
- In the match chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: A client moves no neutral unit for
VictoryDance. - In the match chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: The action of
BotKickthat means leave is 4. - In the match chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: A client dropped during play connects again at once by itself, for any reason but the one that means its player was away, and shows its player that it is reconnecting while it does.
- In the match chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: Once loading is done, a client gives up on a connection where a reliable message it sent goes unacknowledged for 15 seconds.
- In the match chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: Before loading is done, a client waits 60 seconds for an acknowledgement rather than 15.
- In the combat chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: The health bar moves as replication states the health.
- In the combat chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: A client draws the world without colour for
GreyscaleWhenDeadonly under one of its display settings, and otherwise ignores it. - In the combat chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: A client also sends
UseObjectfor a unit its champion is attacking, as that unit changes side. - In the shop chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: Suggested items are kept per champion and chosen by the mode
VersionSyncnames, whatever the map. - In the communication chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: A client plays the voice line
VoiceCommandnames, unless its player has muted the champion’s player. - In the spectating chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: A watching client first asks the service for its version, and ends by asking it to stop.
- In the spectating chapter, a passage holds for 1.0.0.140 and not 1.0.0.139: A client fetches the first key frame’s information after the chunks of setting up.
Only notes
These read the same on the wire, and only their notes change. What each says in 1.0.0.140:
Chat,speaker: “The client id the line is from. A client sends its own. From a server, a client shows the line with the name and champion of the player holding that client id, coloured for their side, and with no name for a client id nobody holds; 4294967295 shows the line as said to everyone with no name, less its first three bytes.”, where 1.0.0.139 has “The client id the line is from. A client sends its own. From a server, a client shows the line with the name of the player holding that client id, coloured for whether that player is on its own side, and with no name for a client id nobody holds; 4294967295 shows the whole line with no name and no tag. A client does not show a line from a player its own player has ignored or muted.”Chat,audience: “1 for the speaker’s side alone, which a client shows without a tag; any other value from a server is shown tagged as said to everyone, except that where VersionSync hides all chat and the player has not turned it back on, a client does not show the line unless speaker is 4294967295. A client sends 0 where its player began the line with the all-chat prefix, which it leaves out of the text, and 1 otherwise.”, where 1.0.0.139 has “1 for the speaker’s side alone, which a client shows without a tag; any other value from a server is shown tagged as said to everyone. A client sends 0 where its player began the line with the all-chat prefix, which it leaves out of the text, and 1 otherwise.”
1.0.0.141
Client builds from 1.0.0.141 up to, not including, 1.0.0.142. Patch notes: V1.0.0.141.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.141 | 10 | 0 | 4 | 9377c82 | 2026-10-24 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: ContextEmote, CreateFollower, FollowerMaster, HoverIndicator, HoverTarget, MissileLaunched, SoftReconnect, SpellRangeChanged, SpellSlotChanged, SystemMessage.
Every message of this range (224)
Against 1.0.0.140
Where a build from 1.0.0.141 up to, not including, 1.0.0.142 differs from one from 1.0.0.140 up to, not including, 1.0.0.141. Anything not named here is the same in both.
In 1.0.0.141, not in 1.0.0.140
| Message | Sent by | Command | What it does |
|---|---|---|---|
ShopEnabled | server | 253 on events | Say whether a champion can use the shop |
StreamRequest | client | 248 on requests | What a client watching a match streamed over its connection (see spec/spectating.md) sends each time the server answers its registration, asking for the stream from a point |
Commands
These differ only in their command. Each row is a run of commands moved by the same amount:
| Channel | 1.0.0.140 | 1.0.0.141 | Messages |
|---|---|---|---|
| events | 183–245 | 185–247 | EnterLocalSight, ShopHighlighted, PlayAnimation, SideTextRefreshed, TutorialPopup, UnitHighlightRemoved, SpellCastAnswer, EffectAdded, AfkWarning, Path, EnterSight, HudDisabled, EffectCountGroup, TargetHeldChampion, ClockSync, MatchStarted, CampCleared, VictoryDance, GameEnded, AppearanceCleared, SurrenderVoteCalled, UiHighlight, FadeMinions, HealthBar, SpawnBot, MapProp, MapPropChanged, ParticleSource, CapturePointChanged, TeamScore, RespawnPoint, TeamChanged, MinimapIcon, ScoreAdded, StatisticIncremented, ScreenTint, MusicCue, BotKick, EnterTeamSight, LeaveTeamSight, ParticleEnterTeamSight, ParticleLeaveTeamSight, GoldEarned, TargetableChanged, Shutdown, CampOpened |
| events | 246 | 252 | MissileRetarget |
| requests | 185–242 | 187–244 | SelectObject, ClientVersion, CharacterSelected, TutorialPopupClosed, QuestEvent, SpellCharge |
| transient | 206 | 208 | Replication |
Laid out differently
DeathHistory(vectors: one-on-1-0-0-141)sourceTypeis u32 in 1.0.0.140 and u8 in 1.0.0.141.
FadeTo- Its command is 188 in 1.0.0.140 and 190 in 1.0.0.141.
- The same fields come in another order in 1.0.0.141.
ModulePacket- Its command is 234 in 1.0.0.140 and 236 in 1.0.0.141.
extrais in 1.0.0.140 and not in 1.0.0.141.
MoveOrdermovementis record in 1.0.0.140 and Movement in 1.0.0.141.movement.headeris in 1.0.0.140 and not in 1.0.0.141.movement.pathis in 1.0.0.140 and not in 1.0.0.141.
Structs
Movementheaderis 4-byte bits in 1.0.0.140 and 1-byte bits in 1.0.0.141.header.pointCountis at bit 16 in 1.0.0.140 and at bit 1 in 1.0.0.141.headerhasunusedat bit 1 in 1.0.0.140, and not in 1.0.0.141.headerhasunusedHighat bit 23 in 1.0.0.140, and not in 1.0.0.141.
MovementAtSpeedheaderis 4-byte bits in 1.0.0.140 and 1-byte bits in 1.0.0.141.header.pointCountis at bit 16 in 1.0.0.140 and at bit 1 in 1.0.0.141.headerhasunusedat bit 1 in 1.0.0.140, and not in 1.0.0.141.headerhasunusedHighat bit 23 in 1.0.0.140, and not in 1.0.0.141.
Chapters
- In the objects chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: No region id stands for no region.
- In the objects chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: | Map | Holds | | —–– | ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– | | 1, 2, 6 | the six
Barracksnames,HQ_T1,HQ_T2,orderShop01,chaosShop01, spawn points named__P_…| | 3 |Barracks_T1_C1,Barracks_T2_C1,HQ_T1,HQ_T2,OrderShop01,ChaosShop01,____P_Chaos_Spawn_Barracks__C01| | 4 |Barracks_T1_L1,Barracks_T1_R1,Barracks_T2_L1,Barracks_T2_R1,HQ_T1,HQ_T2,OrderShop01,ChaosShop01, spawn points named__P_…| | 8 |orderShop01,chaosShop01| - In the objects chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A
WaypointGrouporWaypointGroupAtSpeedpath for a unit not held is never applied, and a client does not read past its points: it reads the next path from inside the one it skipped, so every later path of that message comes out wrong. - In the ordering chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A client that meets a unit it does not hold in a
WaypointGrouporWaypointGroupAtSpeedleaves that unit’s path unread, reads every later movement in the group from the wrong place, and answers the group all the same. - In the space chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A client has data for maps 1 to 4, 6 and 8: |
map| Origin of its paths | | —– | —————–– | | 1 | 6991, 7223 | | 2 | 6991, 7223 | | 3 | 7479, 7147 | | 4 | 6710, 6696 | | 6 | 6991, 7223 | | 8 | 6947, 6609 | - In the time chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A client runs no clock but the match clock, and takes whatever speed
GameSpeedgives. - In the values chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A cast’s slot also takes 64 to 69, for a basic attack: 64 is the champion’s basic attack, 65 to 67 its other basic attacks, 68 its critical attack and 69 a miss.
- In the values chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A champion’s own book ends at slot 51.
- In the data chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: The client has maps 1, 2, 3, 4, 6 and 8.
- In the data chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A client fails on a
CreateTurretnaming no building, and a server MUST NOT send one. - In the data chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A champion’s spells and attacks are in
DATA/Spells/<Spell>.inibinwith all other spells. - In the joining chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: Every answer for its own player id, the first included, has a client send
ReconnectedInMatch, saying whether play has yet begun. - In the joining chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A server MUST put the seat’s player id in
SeatLoadProgress: the loading screen shows a seat’s card from theVersionSyncseat with that id. - In the joining chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A client writes its own client id where its player id goes in
LoadingProgress, in the low four bytes with zeros above. - In the joining chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A card draws a seat’s
icononly where it is 0 or more. - In the joining chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A client whose connection drops before play begins ends rather than connecting again.
- In the vision chapter, a passage holds for 1.0.0.140 and not 1.0.0.141:
EnterSightstates everything a client needs to draw the unit at once: its looks, its shields, where it stands or which path it walks, and, in what follows, its health and resource. - In the vision chapter, a passage holds for 1.0.0.140 and not 1.0.0.141:
EnterLocalSightstates the unit’s resource beside its health. - In the movement chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A unit coming into sight while standing carries its place and facing in
EnterSightinstead. - In the movement chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A client does not read the points of a movement whose unit it does not hold, and so misreads every later movement in the group.
- In the movement chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A server MUST send the
WaypointGroupthat answers aMoveOrderon the transient channel. - In the movement chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A server MUST NOT send
NavigationFlags: a client fails on the first one a match brings. - In the replication chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: The groups follow in the order 0 to 4, and nothing gives a group’s length: each value is four bytes, so a group takes four bytes for its set of values and four for each bit that set has set.
- In the replication chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: Each row also gives the type a value is written in.
- In the replication chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: ## A champion | Group | Bits | Value | Type | | —– | –––– | —————————————————————————————————— | —– | | 0 | 0 | Gold in hand | float | | 0 | 1 to 2 | Which slots can be cast from: the champion’s own, then the second set | u32 | | 0 | 3 to 6 | What the spell in slots 0 to 3 costs | float | | 0 | 7 to 14 | What the spell in slots 42 to 49 costs | float | | 0 | 15 to 16 | What the spell in slots 0 and 1 of the second set costs | float | | 1 | 0 | What the champion is doing, as a set of bits | u32 | | 1 | 1 to 3 | Whether it is proof against spells, proof against all harm, and proof against strikes | u32 | | 1 | 4 | Damage it deals by striking | float | | 1 | 5 | Damage its spells deal before modifiers | float | | 1 | 6 | How often it turns a blow aside | float | | 1 | 7 | How often it strikes critically | float | | 1 | 8 | Armour | float | | 1 | 9 | Spell resistance | float | | 1 | 10 to 11 | How fast health and resource return | float | | 1 | 12 | How far it strikes from | float | | 1 | 13 to 15 | Flat and percent modifiers on the damage it strikes with, then the flat modifier on its spells’ damage | float | | 1 | 16 to 17 | Flat and percent reduction of the spell damage it takes | float | | 1 | 18 | A multiplier on how fast it strikes | float | | 1 | 19 | A flat addition to how far it casts | float | | 1 | 20 | A modifier on its cooldowns | float | | 1 | 21 to 22 | How much armour it cuts through, flat then as a percent | float | | 1 | 23 to 24 | How much spell resistance it cuts through, flat then as a percent | float | | 1 | 25 | Life steal | float | | 1 | 26 | Spell vamp | float | | 3 | 0 to 1 | Health and resource as they stand | float | | 3 | 2 to 3 | Health and resource at their greatest | float | | 3 | 4 | Experience | float | | 3 | 5 to 6 | A flat and a percent addition to how far it sees | float | | 3 | 7 | How fast it moves | float | | 3 | 8 | A value whose meaning is not recorded | float | | 3 | 9 | Level | u32 | | 3 | 10 | Kills taken from no side | u32 | Bit n of either set of slots that can be cast from stands for slot n.
- In the replication chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A server grants experience with
ExperienceGained, and MUST name a champion in it: a client fails on one naming any other unit. - In the match chapter, a passage holds for 1.0.0.140 and not 1.0.0.141:
StatTickasks every unit’s stats to advance by that span. - In the match chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: Input stays locked during the countdown.
- In the match chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A client sends
ClientFinishedevery timeGameEndedarrives in play, while playing a replay too. - In the match chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A client sends
ReconnectedInMatchon every connection it makes, the first included, with a byte that is 0 where the match is in play and 1 otherwise. - In the combat chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A client shows nothing for
Damageunless it holds the unit hurt; it need not hold the unit dealing it. - In the combat chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A client draws the world without colour for
GreyscaleWhenDeadonly under one of its display settings, and otherwise ignores it. - In the shop chapter, a passage holds for 1.0.0.140 and not 1.0.0.141:
Loadoutdoes nothing to the shop: a client fills its shop from its own data, and takes the items it suggests from its champion’s own data. - In the shop chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: The data of the map
VersionSyncnames lists the items that cannot be bought, and can list the only items the shop holds. - In the shop chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: Suggested items are kept per champion and chosen by the mode
VersionSyncnames, whatever the map. - In the shop chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: Opening the shop sends
TutorialShopOpened, in any match, except while the shop is locked. - In the shop chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: Opening the shop while the match is paused sends nothing.
- In the communication chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A client plays the voice line
VoiceCommandnames, unless its player has muted the champion’s player. - In the communication chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: Where a
VoiceEventasks for an answer, a client sendsVoiceEventDoneonce it has played the event. - In the communication chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A client answers a
VoiceEventit cannot play at once. - In the interface chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A client keeps a
CameraLockSetthat arrives while it holds its camera itself, and applies and answers it once the hold ends. - In the spectating chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A client asks
getLastKeyFrameInfofor the last key frame. - In the spectating chapter, a passage holds for 1.0.0.140 and not 1.0.0.141: A client fetches the first key frame’s information after the chunks of setting up.
Only notes
These read the same on the wire, and only their notes change. What each says in 1.0.0.141:
SpawnUnit, its layout: “A client deletes any object holding the new unit’s id first, and does nothing more where it cannot make the unit. clone, where nonzero, is copied, state and inventory. The header names the unit that put it there.”, where 1.0.0.140 has “A client deletes no object first: where one already holds the new unit’s id, both answer to it. It does nothing more where it cannot make the unit. clone, where nonzero, is copied, state and inventory. The header names no object a client reads: a server names the unit that put it there.”SpawnUnit,flags.ignoreCollision: “Set where it does not block the way.”, where 1.0.0.140 has “Set where it does not block the way. It takes effect only where bot is clear.”SpawnUnit,flags.laneMinion: “Set where it is a lane minion.”, where 1.0.0.140 has “Unused here; a client reads nothing in this bit.”
1.0.0.142
Client builds from 1.0.0.142 up to, not including, 1.0.0.143. Patch notes: V1.0.0.142.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.142 | 10 | 0 | 4 | c62b228 | 2026-10-24 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: ContextEmote, CreateFollower, FollowerMaster, HoverIndicator, HoverTarget, MissileLaunched, SoftReconnect, SpellRangeChanged, SpellSlotChanged, SystemMessage.
Every message of this range (224)
Against 1.0.0.141
Where a build from 1.0.0.142 up to, not including, 1.0.0.143 differs from one from 1.0.0.141 up to, not including, 1.0.0.142. Anything not named here is the same in both.
Laid out differently
ClientEvent(vectors: baron-killed-on-1-0-0-142, baron-killed-watched-on-1-0-0-142, buff-on-1-0-0-142, consumable-bought-on-1-0-0-142, critical-strike-on-1-0-0-142, damage-dealt-on-1-0-0-142, damage-taken-on-1-0-0-142, death-assist-on-1-0-0-142, died-on-1-0-0-142, dragon-killed-on-1-0-0-142, dragon-killed-watched-on-1-0-0-142, gold-earned-on-1-0-0-142, gold-spent-on-1-0-0-142, heal-cast-on-1-0-0-142, heal-on-1-0-0-142, item-bought-on-1-0-0-142, item-callout-on-1-0-0-142, killing-spree-on-1-0-0-142, one-on-1-0-0-142, removed-on-1-0-0-142)eventtakes 117 dragonKilled, 118 dragonKilledWatched, 119 baronKilled, 120 baronKilledWatched in 1.0.0.142 and not in 1.0.0.141.monsteris in 1.0.0.142 (record), afterkill.assists, and not in 1.0.0.141.
CooldownSetthenis in 1.0.0.142 (1-byte bits), aftercooldown, and not in 1.0.0.141.
DeathHistory(vectors: one-on-1-0-0-142)entries[].eventtakes 117 dragonKilled, 118 dragonKilledWatched, 119 baronKilled, 120 baronKilledWatched in 1.0.0.142 and not in 1.0.0.141.entries[].monsteris in 1.0.0.142 (record), afterentries[].kill.assists, and not in 1.0.0.141.
Registerversionis in 1.0.0.142 (u32), afterplayerId, and not in 1.0.0.141.trailingis in 1.0.0.142 (bytes, 4), afterproof, and not in 1.0.0.141.
Registeredversionis in 1.0.0.142 (u32), afterplayerId, and not in 1.0.0.141.proofis in 1.0.0.142 (bytes, 8), afterversion, and not in 1.0.0.141.trailingis in 1.0.0.142 (bytes, 4), afterproof, and not in 1.0.0.141.
SpellCooldownthenis in 1.0.0.142 (1-byte bits), aftertimeLeft, and not in 1.0.0.141.
WorldEventeventtakes 117 dragonKilled, 118 dragonKilledWatched, 119 baronKilled, 120 baronKilledWatched in 1.0.0.142 and not in 1.0.0.141.monsteris in 1.0.0.142 (record), afterkill.assists, and not in 1.0.0.141.
Only notes
These read the same on the wire, and only their notes change. What each says in 1.0.0.142:
CampCleared,killer: “The champion credited with emptying the camp, or zero for none. Where the camp has no buff side and no line of its own, a client has that champion speak a line for it, whatever speak says.”, where 1.0.0.141 has “Unused; a client reads nothing here.”EnterLocalSight,vitals: “The unit’s health. A client reads it for a champion, a minion, a turret, a map prop or another unit with a mind, past the end of the message where it is missing, so a server sends it for those; for a building or a missile it ends after the carried messages.”, where 1.0.0.141 has “The unit’s health. Where a client already holds the unit, it reads these from body offset 2 whatever the carried size, so a server carries messages here only where they create the unit, and sends the vitals right after them.”
1.0.0.143
Client builds from 1.0.0.143 up to, not including, 1.0.0.144. Patch notes: V1.0.0.143.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.143 | 10 | 0 | 4 | 4201587 | 2026-10-24 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: ContextEmote, CreateFollower, FollowerMaster, HoverIndicator, HoverTarget, MissileLaunched, SpellRangeChanged, SpellSlotChanged, SystemMessage.
Every message of this range (223)
Against 1.0.0.142
Where a build from 1.0.0.143 up to, not including, 1.0.0.144 differs from one from 1.0.0.142 up to, not including, 1.0.0.143. Anything not named here is the same in both.
In 1.0.0.143, not in 1.0.0.142
| Message | Sent by | Command | What it does |
|---|---|---|---|
SoftReconnect | server | 252 on events | What a server sends, in pairs, to rebuild a client’s world without a new connection: the first marks what the client holds, the second deletes whatever is still marked |
In 1.0.0.142, not in 1.0.0.143
| Message | Sent by | Command it had |
|---|---|---|
ResyncEnded | server | 75 on events |
TargetableChanged | server | 242 on events |
Commands
These differ only in their command. Each row is a run of commands moved by the same amount:
| Channel | 1.0.0.142 | 1.0.0.143 | Messages |
|---|---|---|---|
| events | 243–252 | 242–251 | Shutdown, CampOpened, MissileRetarget |
| requests | 244–248 | 243–247 | SpellCharge, StreamRequest |
Laid out differently
CampCleared(vectors: one-on-1-0-0-143)does.unusedis at bit 2, 6 bits wide, in 1.0.0.142 and at bit 1, 7 bits wide, in 1.0.0.143.doeshassideOrderat bit 1 in 1.0.0.142, and not in 1.0.0.143.
ClientEvent(vectors: baron-killed-on-1-0-0-143, baron-killed-watched-on-1-0-0-143, buff-on-1-0-0-143, consumable-bought-on-1-0-0-143, critical-strike-on-1-0-0-143, damage-dealt-on-1-0-0-143, damage-taken-on-1-0-0-143, death-assist-on-1-0-0-143, died-on-1-0-0-143, dragon-killed-on-1-0-0-143, dragon-killed-watched-on-1-0-0-143, gold-earned-on-1-0-0-143, gold-spent-on-1-0-0-143, heal-cast-on-1-0-0-143, heal-on-1-0-0-143, item-bought-on-1-0-0-143, item-callout-on-1-0-0-143, killing-spree-on-1-0-0-143, one-on-1-0-0-143, removed-on-1-0-0-143)otheris in 1.0.0.142 and not in 1.0.0.143.
CreateChampion(vectors: one-on-1-0-0-143)stayDownis in 1.0.0.143 (f32), afterasset, and not in 1.0.0.142.downForis in 1.0.0.143 (f32), afterstayDown, and not in 1.0.0.142.howis in 1.0.0.143 (4-byte bits), afterdownFor, and not in 1.0.0.142.
CreateTurret(vectors: one-on-1-0-0-143)stateis in 1.0.0.142 and not in 1.0.0.143.targetableToTeamis in 1.0.0.142 and not in 1.0.0.143.
EnterSight(vectors: a-fifth-on-1-0-0-143, a-fourth-on-1-0-0-143, a-third-on-1-0-0-143, another-on-1-0-0-143, one-on-1-0-0-143)view.targetableis in 1.0.0.142 and not in 1.0.0.143.view.targetableToTeamis in 1.0.0.142 and not in 1.0.0.143.
ReconnectedInMatch(vectors: one-on-1-0-0-143)loadingis in 1.0.0.142 and not in 1.0.0.143.
SpawnFromBarracksbarracksis in 1.0.0.143 (u32), afternode, and not in 1.0.0.142.
SpawnUnit(vectors: one-on-1-0-0-143)flags.unusedis at bit 5, 3 bits wide, in 1.0.0.142 and at bit 4, 4 bits wide, in 1.0.0.143.flagshastargetableat bit 4 in 1.0.0.142, and not in 1.0.0.143.
Structs
Replicationpresenthasgroup5at bit 5 in 1.0.0.143, and not in 1.0.0.142.present.unusedis at bit 5, 3 bits wide, in 1.0.0.142 and at bit 6, 2 bits wide, in 1.0.0.143.group5is in 1.0.0.143 (record), aftergroup3.values, and not in 1.0.0.142.
Chapters
- In the objects chapter, a passage holds for 1.0.0.143 and not 1.0.0.142: The stage of
SoftReconnectthat marks is 0. - In the objects chapter, a passage holds for 1.0.0.143 and not 1.0.0.142: A client reads only the two lowest bits of the stage: a stage with both clear marks, and any other removes.
Only notes
These read the same on the wire, and only their notes change. What each says in 1.0.0.143:
DeathHistory,blobLength: “How many bytes the entries below take together. A client reads exactly that many; zero, or a value above 2147483647, carries no entries.”, where 1.0.0.142 has “How many bytes the entries below take together. A client reads exactly that many; zero, or a value above 2147483647, carries no entries. A client reads it as signed: from 2147483648 up it reads nothing more.”DeathHistory,entryCount: “How many entries follow.”, where 1.0.0.142 has “How many entries follow. Read as signed: from 2147483648 up it parses no entries.”SpawnPet, its layout: “A client deletes any object holding the header’s id; spawns nothing where it does not know the owner; kills the owner’s earlier pet if it lives; makes the pet, replacing its script with script; gives it the owner’s seat; and registers it under the header’s id and node. duration has no effect. The header names the pet. A server sends it to clients watching a match.”, where 1.0.0.142 has “A client spawns nothing where it does not know the owner; kills the owner’s earlier pet if it lives; makes the pet, replacing its script with script; gives it the owner’s seat; and registers it under the header’s id and node. It deletes no object first; where one already holds the header’s id, both answer to it. duration has no effect. The header names the pet. A server sends it to clients watching a match.”SpawnPet,spellLevel: “The level of the spell that summoned it, plus one. A client uses it only where the owner is on its own side.”, where 1.0.0.142 has “The level of the spell that summoned it, plus one. A client uses it only where the owner belongs to its own network node, so only for its own units and never while watching a match.”SpawnPet,effect: “An effect it carries, padded with zero bytes. A client uses it only where the owner is on its own side.”, where 1.0.0.142 has “An effect it carries, padded with zero bytes. A client uses it only where the owner belongs to its own network node, as for spellLevel.”SpawnPet,flags.copyInventory: “Set where it copies its owner’s items.”, where 1.0.0.142 has “Set to tie the pet to the unit clone names. A client ties it to clone whatever this bit says, so the bit adds nothing.”
1.0.0.144
Client builds from 1.0.0.144 up to, not including, 1.0.0.145. Patch notes: V1.0.0.144.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.144 | 10 | 0 | 4 | 38d4ea4 | 2026-10-24 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: ContextEmote, FollowerMaster, HoverIndicator, HoverTarget, MinimapHighlighted, MissileLaunched, ShopHighlighted, SpellRangeChanged, SpellSlotChanged, SystemMessage.
Every message of this range (222)
Against 1.0.0.143
Where a build from 1.0.0.144 up to, not including, 1.0.0.145 differs from one from 1.0.0.143 up to, not including, 1.0.0.144. Anything not named here is the same in both.
In 1.0.0.144, not in 1.0.0.143
| Message | Sent by | Command | What it does |
|---|---|---|---|
CreateFollower | server | 241 on events | Put an object on the field that follows a unit |
In 1.0.0.143, not in 1.0.0.144
| Message | Sent by | Command it had |
|---|---|---|
MinimapHighlighted | server | 20 on events |
ShopHighlighted | server | 186 on events |
Commands
These differ only in their command. Each row is a run of commands moved by the same amount:
Laid out differently
ClientEvent- Its command is 173 in 1.0.0.143 and 163 in 1.0.0.144.
eventtakes 81 surrenderFailed, 82 surrenderTooEarly, 83 surrenderAgreed, 84 surrenderVoteSpam, 87 minionsSpawned, 88 welcome, 89 startNoticeTwo, 90 startNoticeThree, 91 startNoticeFour, 92 startNoticeFive, 93 alert, 94 scoreboardOpened, 97 pointANeutralized, 98 pointBNeutralized, 99 pointCNeutralized, 100 pointDNeutralized, 101 pointENeutralized, 102 pointACaptured, 103 pointBCaptured, 104 pointCCaptured, 105 pointDCaptured, 106 pointECaptured, 115 particleLimit, 116 dragonKilled, 117 dragonKilledWatched, 118 baronKilled, 119 baronKilledWatched in 1.0.0.144 and not in 1.0.0.143.eventtakes 81 surrenderCountdown, 82 surrenderFailed, 83 surrenderTooEarly, 84 surrenderAgreed, 85 surrenderVoteSpam, 88 minionsSpawned, 89 welcome, 90 startNoticeTwo, 91 startNoticeThree, 92 startNoticeFour, 93 startNoticeFive, 94 alert, 95 scoreboardOpened, 98 pointANeutralized, 99 pointBNeutralized, 100 pointCNeutralized, 101 pointDNeutralized, 102 pointENeutralized, 103 pointACaptured, 104 pointBCaptured, 105 pointCCaptured, 106 pointDCaptured, 107 pointECaptured, 116 particleLimit, 117 dragonKilled, 118 dragonKilledWatched, 119 baronKilled, 120 baronKilledWatched in 1.0.0.143 and not in 1.0.0.144.monsteris present when event = 117 or 118 or 119 or 120 in 1.0.0.143, and present when event = 116 or 117 or 118 or 119 in 1.0.0.144.
DeathHistory- Its command is 36 in 1.0.0.143 and 33 in 1.0.0.144.
entries[].eventtakes 87 minionsSpawned, 88 welcome, 89 startNoticeTwo, 90 startNoticeThree, 94 scoreboardOpened, 115 particleLimit, 116 dragonKilled, 117 dragonKilledWatched, 118 baronKilled, 119 baronKilledWatched in 1.0.0.144 and not in 1.0.0.143.entries[].eventtakes 81 surrenderCountdown, 88 minionsSpawned, 89 welcome, 90 startNoticeTwo, 91 startNoticeThree, 95 scoreboardOpened, 116 particleLimit, 117 dragonKilled, 118 dragonKilledWatched, 119 baronKilled, 120 baronKilledWatched in 1.0.0.143 and not in 1.0.0.144.entries[].monsteris present when event = 117 or 118 or 119 or 120 in 1.0.0.143, and present when event = 116 or 117 or 118 or 119 in 1.0.0.144.
FaceDirection- Its command is 86 in 1.0.0.143 and 80 in 1.0.0.144.
turnTimeis in 1.0.0.144 (f32), afterhow, and not in 1.0.0.143.
FacePosition- Its command is 86 in 1.0.0.143 and 80 in 1.0.0.144.
unknownis in 1.0.0.144 (f32), afterunused, and not in 1.0.0.143.
HealthBar- Its command is 219 in 1.0.0.143 and 206 in 1.0.0.144.
flagsis in 1.0.0.144 (1-byte bits) at the start, and not in 1.0.0.143.barTypeis in 1.0.0.144 (u8), afterflags, and not in 1.0.0.143.sideis in 1.0.0.144 (i32), afterbarType, and not in 1.0.0.143.showis in 1.0.0.143 and not in 1.0.0.144.
HudHighlighted- Its command is 68 in 1.0.0.143 and 63 in 1.0.0.144.
partis in 1.0.0.144 (u8) at the start, and not in 1.0.0.143.secondis in 1.0.0.144 (u8), afternumber, and not in 1.0.0.143.
UpgradeSpell- Its command is 62 in 1.0.0.143 and 59 in 1.0.0.144.
howis in 1.0.0.144 (1-byte bits), afterslot, and not in 1.0.0.143.
WorldEvent- Its command is 76 in 1.0.0.143 and 70 in 1.0.0.144.
eventtakes 87 minionsSpawned, 88 welcome, 89 startNoticeTwo, 90 startNoticeThree, 94 scoreboardOpened, 115 particleLimit, 116 dragonKilled, 117 dragonKilledWatched, 118 baronKilled, 119 baronKilledWatched in 1.0.0.144 and not in 1.0.0.143.eventtakes 81 surrenderCountdown, 88 minionsSpawned, 89 welcome, 90 startNoticeTwo, 91 startNoticeThree, 95 scoreboardOpened, 116 particleLimit, 117 dragonKilled, 118 dragonKilledWatched, 119 baronKilled, 120 baronKilledWatched in 1.0.0.143 and not in 1.0.0.144.monsteris present when event = 117 or 118 or 119 or 120 in 1.0.0.143, and present when event = 116 or 117 or 118 or 119 in 1.0.0.144.
Structs
ParticlesettingsFromis in 1.0.0.144 (u32), afterboundTo, and not in 1.0.0.143.
1.0.0.145
Client builds from 1.0.0.145 up to, not including, 1.0.0.146. Patch notes: V1.0.0.145.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.145 | 10 | 0 | 4 | 1b6571c | 2026-10-24 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: ContextEmote, HoverIndicator, HoverTarget, MinimapHighlighted, MissileLaunched, ShopHighlighted, SpellRangeChanged, SpellSlotChanged, SystemMessage.
Every message of this range (223)
Against 1.0.0.144
Where a build from 1.0.0.145 up to, not including, 1.0.0.146 differs from one from 1.0.0.144 up to, not including, 1.0.0.145. Anything not named here is the same in both.
In 1.0.0.145, not in 1.0.0.144
| Message | Sent by | Command | What it does |
|---|---|---|---|
FollowerMaster | server | 242 on events | Change which unit a following object follows |
Laid out differently
ClientReadytipChosenis in 1.0.0.145 (u8), aftermask, and not in 1.0.0.144.tipColouris in 1.0.0.145 (u8), aftertipChosen, and not in 1.0.0.144.tipDurationis in 1.0.0.145 (u8), aftertipColour, and not in 1.0.0.144.loadingTipsis in 1.0.0.145 (u8), aftertipDuration, and not in 1.0.0.144.playingTipsis in 1.0.0.145 (u8), afterloadingTips, and not in 1.0.0.144.
ClientVersionclockis in 1.0.0.144 and not in 1.0.0.145.
VersionSynctipis in 1.0.0.145 (i8), afterreporting, and not in 1.0.0.144.tipColouris in 1.0.0.145 (i8), aftertip, and not in 1.0.0.144.tipDurationis in 1.0.0.145 (i8), aftertipColour, and not in 1.0.0.144.loadingTipsis in 1.0.0.145 (u8), aftertipDuration, and not in 1.0.0.144.playingTipsis in 1.0.0.145 (u8), afterloadingTips, and not in 1.0.0.144.
1.0.0.146
Client builds from 1.0.0.146 up to, not including, 1.0.0.147. Patch notes: V1.0.0.146.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.146 | 10 | 0 | 4 | ae449c7 | 2026-10-24 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: ContextEmote, HoverIndicator, HoverTarget, MinimapHighlighted, MissileLaunched, ShopHighlighted, SpellRangeChanged, SpellSlotChanged, SystemMessage.
Every message of this range (223)
Against 1.0.0.145
Where a build from 1.0.0.146 up to, not including, 1.0.0.147 differs from one from 1.0.0.145 up to, not including, 1.0.0.146. Anything not named here is the same in both.
Laid out differently
StartGame(vectors: one-on-1-0-0-146)ruleshasnoticeat bit 1 in 1.0.0.146, and not in 1.0.0.145.rules.unusedis at bit 1, 7 bits wide, in 1.0.0.145 and at bit 2, 6 bits wide, in 1.0.0.146.
Structs
ParticleGrouppackageis in 1.0.0.146 (u32) at the start, and not in 1.0.0.145.
1.0.0.147
Client builds from 1.0.0.147 up to, not including, 1.0.0.148. Patch notes: V1.0.0.147.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.147 | 10 | 0 | 4 | 6d0a5cf | 2026-10-24 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: ContextEmote, CooldownSet, HoverIndicator, HoverTarget, MinimapHighlighted, MissileLaunched, ShopHighlighted, SpellRangeChanged, SpellSlotChanged, SystemMessage.
Every message of this range (222)
Against 1.0.0.146
Where a build from 1.0.0.147 up to, not including, 1.0.0.148 differs from one from 1.0.0.146 up to, not including, 1.0.0.147. Anything not named here is the same in both.
In 1.0.0.146, not in 1.0.0.147
| Message | Sent by | Command it had |
|---|---|---|
CooldownSet | client | 134 on requests |
Laid out differently
AppearancePushedhowis in 1.0.0.147 (1-byte bits), afterentry, and not in 1.0.0.146.overrideSpellsis in 1.0.0.146 and not in 1.0.0.147.modelOnlyis in 1.0.0.146 and not in 1.0.0.147.
CameraLockSetstateis in 1.0.0.147 (1-byte bits) at the start, and not in 1.0.0.146.lockedis in 1.0.0.146 and not in 1.0.0.147.
CancelTargetingwhich.slotis at bit 0, 7 bits wide, in 1.0.0.146 and at bit 0, 6 bits wide, in 1.0.0.147.which.summonerSpellis at bit 7 in 1.0.0.146 and at bit 6 in 1.0.0.147.whichhasunusedat bit 7 in 1.0.0.147, and not in 1.0.0.146.
CastSpell(vectors: one-on-1-0-0-147)how.slotis at bit 1, 7 bits wide, in 1.0.0.146 and at bit 0, 6 bits wide, in 1.0.0.147.how.summonerSpellis at bit 0 in 1.0.0.146 and at bit 6 in 1.0.0.147.howhasclickedat bit 7 in 1.0.0.147, and not in 1.0.0.146.
ClientEvent(vectors: alert-on-1-0-0-147, baron-killed-on-1-0-0-147, baron-killed-watched-on-1-0-0-147, buff-on-1-0-0-147, consumable-bought-on-1-0-0-147, critical-strike-on-1-0-0-147, damage-dealt-on-1-0-0-147, damage-taken-on-1-0-0-147, death-assist-on-1-0-0-147, died-on-1-0-0-147, dragon-killed-on-1-0-0-147, dragon-killed-watched-on-1-0-0-147, gold-earned-on-1-0-0-147, gold-spent-on-1-0-0-147, heal-cast-on-1-0-0-147, heal-on-1-0-0-147, item-bought-on-1-0-0-147, item-callout-on-1-0-0-147, killing-spree-on-1-0-0-147, one-on-1-0-0-147, point-acaptured-on-1-0-0-147, point-aneutralized-on-1-0-0-147, point-bcaptured-on-1-0-0-147, point-bneutralized-on-1-0-0-147, point-ccaptured-on-1-0-0-147, point-cneutralized-on-1-0-0-147, point-dcaptured-on-1-0-0-147, point-dneutralized-on-1-0-0-147, point-ecaptured-on-1-0-0-147, point-eneutralized-on-1-0-0-147, removed-on-1-0-0-147, start-notice-five-on-1-0-0-147, start-notice-four-on-1-0-0-147, start-notice-three-on-1-0-0-147, start-notice-two-on-1-0-0-147, surrender-agreed-on-1-0-0-147, surrender-failed-on-1-0-0-147, surrender-vote-cast-on-1-0-0-147, surrender-vote-spam-on-1-0-0-147, surrender-vote-started-on-1-0-0-147, welcome-on-1-0-0-147)stageis u32 in 1.0.0.146 and u8 in 1.0.0.147.damage.sourceKindis u32 in 1.0.0.146 and u8 in 1.0.0.147.damage.parentis 4-byte bits in 1.0.0.146 and 2-byte bits in 1.0.0.147.damage.parent.unusedis at bit 15, 17 bits wide, in 1.0.0.146 and at bit 15, 1 bits wide, in 1.0.0.147.heal.sourceKindis u32 in 1.0.0.146 and u8 in 1.0.0.147.heal.parentCasteris in 1.0.0.147 (u32), afterheal.parentScript, and not in 1.0.0.146.heal.parentis in 1.0.0.147 (2-byte bits), afterheal.parentCaster, and not in 1.0.0.146.effect.sourceKindis u32 in 1.0.0.146 and u8 in 1.0.0.147.effect.parentCasteris in 1.0.0.147 (u32), aftereffect.parentScript, and not in 1.0.0.146.effect.parentis in 1.0.0.147 (2-byte bits), aftereffect.parentCaster, and not in 1.0.0.146.votesis in 1.0.0.147 (record), aftercallout.side, and not in 1.0.0.146.alertis in 1.0.0.147 (record), aftervotes.side, and not in 1.0.0.146.numberis in 1.0.0.147 (u32), afteralert.second, and not in 1.0.0.146.heal.spellLevelis in 1.0.0.146 and not in 1.0.0.147.heal.parentSourceis in 1.0.0.146 and not in 1.0.0.147.heal.unusedis in 1.0.0.146 and not in 1.0.0.147.heal.unusedToois in 1.0.0.146 and not in 1.0.0.147.effect.spellLevelis in 1.0.0.146 and not in 1.0.0.147.effect.parentSourceis in 1.0.0.146 and not in 1.0.0.147.effect.unusedis in 1.0.0.146 and not in 1.0.0.147.effect.unusedToois in 1.0.0.146 and not in 1.0.0.147.
CreateChampionhowis 4-byte bits in 1.0.0.146 and 1-byte bits in 1.0.0.147.how.unusedis at bit 3, 29 bits wide, in 1.0.0.146 and at bit 3, 5 bits wide, in 1.0.0.147.
Damagehow.resultis at bit 0, 7 bits wide, in 1.0.0.146 and at bit 0, 3 bits wide, in 1.0.0.147.howhasunused1at bit 3 in 1.0.0.147, and not in 1.0.0.146.howhaskindat bit 4 in 1.0.0.147, and not in 1.0.0.146.how.unusedis at bit 7, 1 bits wide, in 1.0.0.146 and at bit 6, 2 bits wide, in 1.0.0.147.damageKindis in 1.0.0.146 and not in 1.0.0.147.
DeathHistory(vectors: one-on-1-0-0-147)entries[].stageis u32 in 1.0.0.146 and u8 in 1.0.0.147.entries[].damage.sourceKindis u32 in 1.0.0.146 and u8 in 1.0.0.147.entries[].damage.parentis 4-byte bits in 1.0.0.146 and 2-byte bits in 1.0.0.147.entries[].damage.parent.unusedis at bit 15, 17 bits wide, in 1.0.0.146 and at bit 15, 1 bits wide, in 1.0.0.147.entries[].heal.sourceKindis u32 in 1.0.0.146 and u8 in 1.0.0.147.entries[].heal.parentCasteris in 1.0.0.147 (u32), afterentries[].heal.parentScript, and not in 1.0.0.146.entries[].heal.parentis in 1.0.0.147 (2-byte bits), afterentries[].heal.parentCaster, and not in 1.0.0.146.entries[].effect.sourceKindis u32 in 1.0.0.146 and u8 in 1.0.0.147.entries[].effect.parentCasteris in 1.0.0.147 (u32), afterentries[].effect.parentScript, and not in 1.0.0.146.entries[].effect.parentis in 1.0.0.147 (2-byte bits), afterentries[].effect.parentCaster, and not in 1.0.0.146.entries[].heal.spellLevelis in 1.0.0.146 and not in 1.0.0.147.entries[].heal.parentSourceis in 1.0.0.146 and not in 1.0.0.147.entries[].heal.unusedis in 1.0.0.146 and not in 1.0.0.147.entries[].heal.unusedToois in 1.0.0.146 and not in 1.0.0.147.entries[].effect.spellLevelis in 1.0.0.146 and not in 1.0.0.147.entries[].effect.parentSourceis in 1.0.0.146 and not in 1.0.0.147.entries[].effect.unusedis in 1.0.0.146 and not in 1.0.0.147.entries[].effect.unusedToois in 1.0.0.146 and not in 1.0.0.147.
FogSetstateis in 1.0.0.147 (1-byte bits) at the start, and not in 1.0.0.146.shownis in 1.0.0.146 and not in 1.0.0.147.
InhibitorStatestatenames bit 15unusedin 1.0.0.146 andalivein 1.0.0.147.lifeis in 1.0.0.146 and not in 1.0.0.147.
InputLockstateis in 1.0.0.147 (1-byte bits), aftercategory, and not in 1.0.0.146.lockedis in 1.0.0.146 and not in 1.0.0.147.
ItemAddedhow.unusedis at bit 1, 7 bits wide, in 1.0.0.146 and at bit 0, 6 bits wide, in 1.0.0.147.how.announceis at bit 0 in 1.0.0.146 and at bit 6 in 1.0.0.147.howhasunused7at bit 7 in 1.0.0.147, and not in 1.0.0.146.
JoinSidepaddingis in 1.0.0.146 and not in 1.0.0.147.
LoadingProgressstatusnames bit 31unusedin 1.0.0.146 andloadedin 1.0.0.147.doneis in 1.0.0.146 and not in 1.0.0.147.
MapPropsideis 4-byte bits in 1.0.0.146 and 2-byte bits in 1.0.0.147.side.unusedis at bit 9, 23 bits wide, in 1.0.0.146 and at bit 9, 7 bits wide, in 1.0.0.147.
MovementBoundsflagsis in 1.0.0.147 (1-byte bits), afterradius, and not in 1.0.0.146.camerais in 1.0.0.146 and not in 1.0.0.147.
PauseAnimationstateis in 1.0.0.147 (1-byte bits) at the start, and not in 1.0.0.146.pausedis in 1.0.0.146 and not in 1.0.0.147.
Rosterpaddingis in 1.0.0.146 and not in 1.0.0.147.gapis in 1.0.0.146 and not in 1.0.0.147.
SeatChampionpaddingis in 1.0.0.146 and not in 1.0.0.147.
SeatNamepaddingis in 1.0.0.146 and not in 1.0.0.147.
ShopEnabledflagsis in 1.0.0.147 (1-byte bits) at the start, and not in 1.0.0.146.enabledis in 1.0.0.146 and not in 1.0.0.147.
SpawnBotsidesis 4-byte bits in 1.0.0.146 and 2-byte bits in 1.0.0.147.sides.unusedis at bit 9, 23 bits wide, in 1.0.0.146 and at bit 9, 7 bits wide, in 1.0.0.147.
SpawnPetflagshasminimapIconat bit 2 in 1.0.0.147, and not in 1.0.0.146.flags.unusedis at bit 2, 6 bits wide, in 1.0.0.146 and at bit 3, 5 bits wide, in 1.0.0.147.minimapIconis in 1.0.0.146 and not in 1.0.0.147.
SpawnUnitflagsis 1-byte bits in 1.0.0.146 and 2-byte bits in 1.0.0.147.flagshasteamat bit 0 in 1.0.0.147, and not in 1.0.0.146.flags.ignoreCollisionis at bit 0 in 1.0.0.146 and at bit 9 in 1.0.0.147.flags.wardis at bit 1 in 1.0.0.146 and at bit 10 in 1.0.0.147.flags.laneMinionis at bit 2 in 1.0.0.146 and at bit 11 in 1.0.0.147.flags.botis at bit 3 in 1.0.0.146 and at bit 12 in 1.0.0.147.flags.unusedis at bit 4, 4 bits wide, in 1.0.0.146 and at bit 13, 3 bits wide, in 1.0.0.147.teamis in 1.0.0.146 and not in 1.0.0.147.
SpellCastAnswerhowis in 1.0.0.147 (1-byte bits), aftersyncId, and not in 1.0.0.146.endChargeis in 1.0.0.146 and not in 1.0.0.147.
SpellChargeflags.slotis at bit 1, 7 bits wide, in 1.0.0.146 and at bit 0, 6 bits wide, in 1.0.0.147.flags.summonerSpellis at bit 0 in 1.0.0.146 and at bit 6 in 1.0.0.147.flagshasendat bit 7 in 1.0.0.147, and not in 1.0.0.146.endis in 1.0.0.146 and not in 1.0.0.147.
SpellCooldownwhich.slotis at bit 0, 7 bits wide, in 1.0.0.146 and at bit 0, 6 bits wide, in 1.0.0.147.which.summonerSpellis at bit 7 in 1.0.0.146 and at bit 6 in 1.0.0.147.whichhasspeakWhenReadyat bit 7 in 1.0.0.147, and not in 1.0.0.146.thenis in 1.0.0.146 and not in 1.0.0.147.
SpellIconChangedwhich.slotis at bit 0, 7 bits wide, in 1.0.0.146 and at bit 0, 6 bits wide, in 1.0.0.147.which.summonerSlotsis at bit 7 in 1.0.0.146 and at bit 6 in 1.0.0.147.whichhasunusedat bit 7 in 1.0.0.147, and not in 1.0.0.146.
SpellNameChangedwhich.slotis at bit 0, 7 bits wide, in 1.0.0.146 and at bit 0, 6 bits wide, in 1.0.0.147.which.summonerSlotsis at bit 7 in 1.0.0.146 and at bit 6 in 1.0.0.147.whichhasunusedat bit 7 in 1.0.0.147, and not in 1.0.0.146.
SpellOffsetTargetChangedwhich.slotis at bit 0, 7 bits wide, in 1.0.0.146 and at bit 0, 6 bits wide, in 1.0.0.147.which.summonerSlotsis at bit 7 in 1.0.0.146 and at bit 6 in 1.0.0.147.whichhasunusedat bit 7 in 1.0.0.147, and not in 1.0.0.146.
SpellTargetingChangedwhich.slotis at bit 0, 7 bits wide, in 1.0.0.146 and at bit 0, 6 bits wide, in 1.0.0.147.which.summonerSlotsis at bit 7 in 1.0.0.146 and at bit 6 in 1.0.0.147.whichhasunusedat bit 7 in 1.0.0.147, and not in 1.0.0.146.
StartGamerules.unusedis at bit 2, 6 bits wide, in 1.0.0.146 and at bit 1, 7 bits wide, in 1.0.0.147.ruleshasnoticeat bit 1 in 1.0.0.146, and not in 1.0.0.147.
SurrenderStatusreasonis u32 in 1.0.0.146 and u8 in 1.0.0.147.
UnitDiedhowis in 1.0.0.147 (1-byte bits), afterstayDown, and not in 1.0.0.146.standingis in 1.0.0.146 and not in 1.0.0.147.
VersionSync(vectors: one-on-1-0-0-147)agreementis u8 in 1.0.0.146 and 1-byte bits in 1.0.0.147.agreementhasbuildMatchesat bit 0 in 1.0.0.147, and not in 1.0.0.146.agreementhasreportsToFileat bit 1 in 1.0.0.147, and not in 1.0.0.146.agreementhasmatchedat bit 2 in 1.0.0.147, and not in 1.0.0.146.agreementhasunusedat bit 3 in 1.0.0.147, and not in 1.0.0.146.reportingis in 1.0.0.146 and not in 1.0.0.147.
WorldEvent(vectors: baron-killed-on-1-0-0-147, baron-killed-watched-on-1-0-0-147, buff-on-1-0-0-147, consumable-bought-on-1-0-0-147, critical-strike-on-1-0-0-147, damage-dealt-on-1-0-0-147, damage-taken-on-1-0-0-147, death-assist-on-1-0-0-147, died-on-1-0-0-147, dragon-killed-on-1-0-0-147, dragon-killed-watched-on-1-0-0-147, gold-earned-on-1-0-0-147, gold-spent-on-1-0-0-147, heal-cast-on-1-0-0-147, heal-on-1-0-0-147, item-bought-on-1-0-0-147, item-callout-on-1-0-0-147, killing-spree-on-1-0-0-147, one-on-1-0-0-147, removed-on-1-0-0-147)stageis u32 in 1.0.0.146 and u8 in 1.0.0.147.damage.sourceKindis u32 in 1.0.0.146 and u8 in 1.0.0.147.damage.parentis 4-byte bits in 1.0.0.146 and 2-byte bits in 1.0.0.147.damage.parent.unusedis at bit 15, 17 bits wide, in 1.0.0.146 and at bit 15, 1 bits wide, in 1.0.0.147.heal.sourceKindis u32 in 1.0.0.146 and u8 in 1.0.0.147.heal.parentCasteris in 1.0.0.147 (u32), afterheal.parentScript, and not in 1.0.0.146.heal.parentis in 1.0.0.147 (2-byte bits), afterheal.parentCaster, and not in 1.0.0.146.effect.sourceKindis u32 in 1.0.0.146 and u8 in 1.0.0.147.effect.parentCasteris in 1.0.0.147 (u32), aftereffect.parentScript, and not in 1.0.0.146.effect.parentis in 1.0.0.147 (2-byte bits), aftereffect.parentCaster, and not in 1.0.0.146.heal.spellLevelis in 1.0.0.146 and not in 1.0.0.147.heal.parentSourceis in 1.0.0.146 and not in 1.0.0.147.heal.unusedis in 1.0.0.146 and not in 1.0.0.147.heal.unusedToois in 1.0.0.146 and not in 1.0.0.147.effect.spellLevelis in 1.0.0.146 and not in 1.0.0.147.effect.parentSourceis in 1.0.0.146 and not in 1.0.0.147.effect.unusedis in 1.0.0.146 and not in 1.0.0.147.effect.unusedToois in 1.0.0.146 and not in 1.0.0.147.
Only notes
These read the same on the wire, and only their notes change. What each says in 1.0.0.147:
VoiceOverride,flags: “Whether to reset.”, where 1.0.0.146 has “Whether to reset. A client compares the whole byte with 1, so a server writes the other bits zero.”
1.0.0.148
Client builds from 1.0.0.148 up to, not including, 1.0.0.149. Patch notes: V1.0.0.148.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.148 | 10 | 0 | 4 | 8863859 | 2026-10-24 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: ContextEmote, CooldownSet, HoverIndicator, HoverTarget, MinimapHighlighted, MissileLaunched, ShopHighlighted, SpellRangeChanged, SpellSlotChanged, SystemMessage.
Every message of this range (222)
Against 1.0.0.147
Where a build from 1.0.0.148 up to, not including, 1.0.0.149 differs from one from 1.0.0.147 up to, not including, 1.0.0.148. Anything not named here is the same in both.
Laid out differently
CastSpellyis in 1.0.0.147 and not in 1.0.0.148.endYis in 1.0.0.147 and not in 1.0.0.148.
ClientEvent(vectors: alert-on-1-0-0-148, baron-killed-on-1-0-0-148, baron-killed-watched-on-1-0-0-148, buff-on-1-0-0-148, consumable-bought-on-1-0-0-148, critical-strike-on-1-0-0-148, damage-dealt-on-1-0-0-148, damage-taken-on-1-0-0-148, death-assist-on-1-0-0-148, died-on-1-0-0-148, dragon-killed-on-1-0-0-148, dragon-killed-watched-on-1-0-0-148, gold-earned-on-1-0-0-148, gold-spent-on-1-0-0-148, heal-cast-on-1-0-0-148, heal-on-1-0-0-148, item-bought-on-1-0-0-148, item-callout-on-1-0-0-148, killing-spree-on-1-0-0-148, one-on-1-0-0-148, point-acaptured-on-1-0-0-148, point-aneutralized-on-1-0-0-148, point-bcaptured-on-1-0-0-148, point-bneutralized-on-1-0-0-148, point-ccaptured-on-1-0-0-148, point-cneutralized-on-1-0-0-148, point-dcaptured-on-1-0-0-148, point-dneutralized-on-1-0-0-148, point-ecaptured-on-1-0-0-148, point-eneutralized-on-1-0-0-148, removed-on-1-0-0-148, spider-killed-on-1-0-0-148, spider-killed-watched-on-1-0-0-148, start-notice-five-on-1-0-0-148, start-notice-four-on-1-0-0-148, start-notice-three-on-1-0-0-148, start-notice-two-on-1-0-0-148, surrender-agreed-on-1-0-0-148, surrender-failed-on-1-0-0-148, surrender-vote-cast-on-1-0-0-148, surrender-vote-spam-on-1-0-0-148, surrender-vote-started-on-1-0-0-148, welcome-on-1-0-0-148)eventtakes 120 spiderKilled, 121 spiderKilledWatched in 1.0.0.148 and not in 1.0.0.147.monsteris present when event = 116 or 117 or 118 or 119 in 1.0.0.147, and present when event = 116 or 117 or 118 or 119 or 120 or 121 in 1.0.0.148.
DeathHistory(vectors: one-on-1-0-0-148)entries[].eventtakes 120 spiderKilled, 121 spiderKilledWatched in 1.0.0.148 and not in 1.0.0.147.entries[].monsteris present when event = 116 or 117 or 118 or 119 in 1.0.0.147, and present when event = 116 or 117 or 118 or 119 or 120 or 121 in 1.0.0.148.
MapPingyis in 1.0.0.147 and not in 1.0.0.148.
PingPlacedatYis in 1.0.0.147 and not in 1.0.0.148.
WorldEvent(vectors: baron-killed-on-1-0-0-148, baron-killed-watched-on-1-0-0-148, buff-on-1-0-0-148, consumable-bought-on-1-0-0-148, critical-strike-on-1-0-0-148, damage-dealt-on-1-0-0-148, damage-taken-on-1-0-0-148, death-assist-on-1-0-0-148, died-on-1-0-0-148, dragon-killed-on-1-0-0-148, dragon-killed-watched-on-1-0-0-148, gold-earned-on-1-0-0-148, gold-spent-on-1-0-0-148, heal-cast-on-1-0-0-148, heal-on-1-0-0-148, item-bought-on-1-0-0-148, item-callout-on-1-0-0-148, killing-spree-on-1-0-0-148, one-on-1-0-0-148, removed-on-1-0-0-148, spider-killed-on-1-0-0-148, spider-killed-watched-on-1-0-0-148)eventtakes 120 spiderKilled, 121 spiderKilledWatched in 1.0.0.148 and not in 1.0.0.147.monsteris present when event = 116 or 117 or 118 or 119 in 1.0.0.147, and present when event = 116 or 117 or 118 or 119 or 120 or 121 in 1.0.0.148.
Structs
SeatbotSkinis in 1.0.0.148 (i32), afterbotAsset, and not in 1.0.0.147.allyBadgeis in 1.0.0.148 (u8), aftericon, and not in 1.0.0.147.enemyBadgeis in 1.0.0.148 (u8), afterallyBadge, and not in 1.0.0.147.
1.0.0.149
Client builds from 1.0.0.149 up to, not including, 1.0.0.150. Patch notes: V1.0.0.149.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.149 | 10 | 0 | 4 | 15137a6 | 2026-10-24 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: ContextEmote, CooldownSet, HoverIndicator, HoverTarget, MinimapHighlighted, MissileLaunched, ShopHighlighted, SpellRangeChanged, SpellSlotChanged, SystemMessage.
Every message of this range (222)
Against 1.0.0.148
Where a build from 1.0.0.149 up to, not including, 1.0.0.150 differs from one from 1.0.0.148 up to, not including, 1.0.0.149. Anything not named here is the same in both.
Laid out differently
ClientEvent(vectors: alert-on-1-0-0-149, altar-captured-on-1-0-0-149, altar-captured-watched-on-1-0-0-149, baron-killed-on-1-0-0-149, baron-killed-watched-on-1-0-0-149, buff-on-1-0-0-149, consumable-bought-on-1-0-0-149, critical-strike-on-1-0-0-149, damage-dealt-on-1-0-0-149, damage-taken-on-1-0-0-149, death-assist-on-1-0-0-149, died-on-1-0-0-149, dragon-killed-on-1-0-0-149, dragon-killed-watched-on-1-0-0-149, gold-earned-on-1-0-0-149, gold-spent-on-1-0-0-149, heal-cast-on-1-0-0-149, heal-on-1-0-0-149, item-bought-on-1-0-0-149, item-callout-on-1-0-0-149, killing-spree-on-1-0-0-149, one-on-1-0-0-149, point-acaptured-on-1-0-0-149, point-aneutralized-on-1-0-0-149, point-bcaptured-on-1-0-0-149, point-bneutralized-on-1-0-0-149, point-ccaptured-on-1-0-0-149, point-cneutralized-on-1-0-0-149, point-dcaptured-on-1-0-0-149, point-dneutralized-on-1-0-0-149, point-ecaptured-on-1-0-0-149, point-eneutralized-on-1-0-0-149, removed-on-1-0-0-149, spider-killed-on-1-0-0-149, spider-killed-watched-on-1-0-0-149, start-notice-five-on-1-0-0-149, start-notice-four-on-1-0-0-149, start-notice-three-on-1-0-0-149, start-notice-two-on-1-0-0-149, surrender-agreed-on-1-0-0-149, surrender-failed-on-1-0-0-149, surrender-vote-cast-on-1-0-0-149, surrender-vote-spam-on-1-0-0-149, surrender-vote-started-on-1-0-0-149, welcome-on-1-0-0-149)eventtakes 122 altarCaptured, 123 altarCapturedWatched in 1.0.0.149 and not in 1.0.0.148.valueis present when event = 24 or 76 in 1.0.0.148, and present when event = 24 or 76 or 122 or 123 in 1.0.0.149.
DeathHistoryentries[].eventtakes 122 altarCaptured, 123 altarCapturedWatched in 1.0.0.149 and not in 1.0.0.148.entries[].valueis present when event = 24 or 76 in 1.0.0.148, and present when event = 24 or 76 or 122 or 123 in 1.0.0.149.
EffectAdded(vectors: shown-on-1-0-0-149)packageis in 1.0.0.149 (u32), aftereffect, and not in 1.0.0.148.
EffectAddedGroup(vectors: one-on-1-0-0-149)packageis in 1.0.0.149 (u32), aftereffect, and not in 1.0.0.148.
LoadoutwardSkinis in 1.0.0.149 (u8), afterlevel, and not in 1.0.0.148.
WorldEvent(vectors: altar-captured-on-1-0-0-149, altar-captured-watched-on-1-0-0-149, baron-killed-on-1-0-0-149, baron-killed-watched-on-1-0-0-149, buff-on-1-0-0-149, consumable-bought-on-1-0-0-149, critical-strike-on-1-0-0-149, damage-dealt-on-1-0-0-149, damage-taken-on-1-0-0-149, death-assist-on-1-0-0-149, died-on-1-0-0-149, dragon-killed-on-1-0-0-149, dragon-killed-watched-on-1-0-0-149, gold-earned-on-1-0-0-149, gold-spent-on-1-0-0-149, heal-cast-on-1-0-0-149, heal-on-1-0-0-149, item-bought-on-1-0-0-149, item-callout-on-1-0-0-149, killing-spree-on-1-0-0-149, one-on-1-0-0-149, removed-on-1-0-0-149, spider-killed-on-1-0-0-149, spider-killed-watched-on-1-0-0-149)eventtakes 122 altarCaptured, 123 altarCapturedWatched in 1.0.0.149 and not in 1.0.0.148.valueis present when event = 24 or 76 in 1.0.0.148, and present when event = 24 or 76 or 122 or 123 in 1.0.0.149.
1.0.0.150
Client builds from 1.0.0.150 up to, not including, 1.0.0.151. Patch notes: V1.0.0.150.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.150 | 10 | 0 | 4 | 2b5cb06 | 2026-10-23 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: ContextEmote, CooldownSet, HoverIndicator, HoverTarget, MinimapHighlighted, MissileLaunched, ShopHighlighted, SpellIconChanged, SpellNameChanged, SpellOffsetTargetChanged, SpellRangeChanged, SpellTargetingChanged, SystemMessage.
Every message of this range (219)
Against 1.0.0.149
Where a build from 1.0.0.150 up to, not including, 1.0.0.151 differs from one from 1.0.0.149 up to, not including, 1.0.0.150. Anything not named here is the same in both.
In 1.0.0.150, not in 1.0.0.149
| Message | Sent by | Command | What it does |
|---|---|---|---|
SpellSlotChanged | server | 23 on events | Change one thing about a spell already in a unit’s slot |
In 1.0.0.149, not in 1.0.0.150
| Message | Sent by | Command it had |
|---|---|---|
SpellIconChanged | server | 51 on events |
SpellNameChanged | server | 50 on events |
SpellOffsetTargetChanged | server | 52 on events |
SpellTargetingChanged | server | 23 on events |
Commands
These differ only in their command. Each row is a run of commands moved by the same amount:
Laid out differently
ChampionDied- Its command is 94 in 1.0.0.149 and 91 in 1.0.0.150.
kindis in 1.0.0.150 (u8), afterhow, and not in 1.0.0.149.
ClientReady- Its command is 82 in 1.0.0.149 and 79 in 1.0.0.150.
settingsis in 1.0.0.150 (1-byte bits), aftertipDuration, and not in 1.0.0.149.loadingTipsis in 1.0.0.149 and not in 1.0.0.150.playingTipsis in 1.0.0.149 and not in 1.0.0.150.
MatchIdentity- Its command is 146 in 1.0.0.149 and 143 in 1.0.0.150.
platformis in 1.0.0.150 (text, 32 bytes), aftergame, and not in 1.0.0.149.
ParticleSource- Its command is 210 in 1.0.0.149 and 207 in 1.0.0.150.
sourcetakes 2 resourceSmoothed in 1.0.0.150 and not in 1.0.0.149.
RegionAdded- Its command is 120 in 1.0.0.149 and 117 in 1.0.0.150.
does.unusedis at bit 2, 30 bits wide, in 1.0.0.149 and at bit 1, 31 bits wide, in 1.0.0.150.doeshassecondat bit 1 in 1.0.0.149, and not in 1.0.0.150.extrais in 1.0.0.149 and not in 1.0.0.150.otherExtrais in 1.0.0.149 and not in 1.0.0.150.
RegionAttacheddoes.unusedis at bit 2, 30 bits wide, in 1.0.0.149 and at bit 1, 31 bits wide, in 1.0.0.150.doeshassecondat bit 1 in 1.0.0.149, and not in 1.0.0.150.extrais in 1.0.0.149 and not in 1.0.0.150.otherExtrais in 1.0.0.149 and not in 1.0.0.150.
VersionSync(vectors: one-on-1-0-0-150)- Its command is 84 in 1.0.0.149 and 81 in 1.0.0.150.
tipFlagsis in 1.0.0.150 (1-byte bits), aftertipDuration, and not in 1.0.0.149.loadingTipsis in 1.0.0.149 and not in 1.0.0.150.playingTipsis in 1.0.0.149 and not in 1.0.0.150.
Chapters
- In the objects chapter, a passage holds for 1.0.0.150 and not 1.0.0.149:
ParticlesCreateddoes not replace a marked object holding its net id: that object stays until the removing stage.
1.0.0.151
Client builds from 1.0.0.151 up to, not including, 1.0.0.152. Patch notes: V1.0.0.151.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.151 | 10 | 0 | 4 | c8771b3 | 2026-10-23 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: ContextEmote, CooldownSet, HoverIndicator, HoverTarget, MinimapHighlighted, MissileLaunched, ShopHighlighted, SpellIconChanged, SpellNameChanged, SpellOffsetTargetChanged, SpellRangeChanged, SpellTargetingChanged, SystemMessage.
Every message of this range (219)
Against 1.0.0.150
Where a build from 1.0.0.151 up to, not including, 1.0.0.152 differs from one from 1.0.0.150 up to, not including, 1.0.0.151. Anything not named here is the same in both.
Structs
Seatstandingis in 1.0.0.151 (text, 16 bytes), afterbotAsset, and not in 1.0.0.150.
Chapters
- In the objects chapter, a passage holds for 1.0.0.150 and not 1.0.0.151:
ParticlesCreateddoes not replace a marked object holding its net id: that object stays until the removing stage.
Only notes
These read the same on the wire, and only their notes change. What each says in 1.0.0.151:
Chat,audience: “1 for the speaker’s side alone, which a client shows without a tag; any other value from a server is shown tagged as said to everyone. A client sends 0 where its player began the line with the all-chat prefix, which it leaves out of the text, and 1 otherwise.”, where 1.0.0.150 has “1 for the speaker’s side alone, which a client shows without a tag; any other value from a server is shown tagged as said to everyone, except that where VersionSync hides all chat and the player has not turned it back on, a client does not show the line unless speaker is 4294967295. A client sends 0 where its player began the line with the all-chat prefix, which it leaves out of the text, and 1 otherwise.”Chat,text: “The line; a client sends at most 127 bytes of it, and reads it up to the zero byte that ends it.”, where 1.0.0.150 has “The line; a client sends at most 511 bytes of it, and reads it up to the zero byte that ends it.”
1.0.0.152–1.0.0.153
Client builds from 1.0.0.152 up to, not including, 1.0.0.154. Patch notes: V1.0.0.152.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.152 | 10 | 0 | 4 | 35ed54a | 2026-10-23 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: ContextEmote, CooldownSet, HoverIndicator, HoverTarget, MinimapHighlighted, MissileLaunched, ShopHighlighted, SpellIconChanged, SpellNameChanged, SpellOffsetTargetChanged, SpellRangeChanged, SpellTargetingChanged, SystemMessage.
Every message of this range (219)
Against 1.0.0.151
Where a build from 1.0.0.152 up to, not including, 1.0.0.154 differs from one from 1.0.0.151 up to, not including, 1.0.0.152. Anything not named here is the same in both.
Transport
- The families differ: see families.json.
- Channel chat is 5 in the chat family in 1.0.0.151, and 5 in the session family in 1.0.0.152–1.0.0.153.
Laid out differently
Chat- Its command is 0 in 1.0.0.151 and 104 in 1.0.0.152–1.0.0.153.
clientIdis in 1.0.0.152–1.0.0.153 (u32) at the start, and not in 1.0.0.151.netIdis in 1.0.0.152–1.0.0.153 (u32), afterclientId, and not in 1.0.0.151.localizedis in 1.0.0.152–1.0.0.153 (u8), afternetId, and not in 1.0.0.151.audienceis u32 in 1.0.0.151 and i32 in 1.0.0.152–1.0.0.153.speakeris in 1.0.0.151 and not in 1.0.0.152–1.0.0.153.
ClientEvent(vectors: alert-on-1-0-0-152, altar-captured-on-1-0-0-152, altar-captured-watched-on-1-0-0-152, baron-killed-on-1-0-0-152, baron-killed-watched-on-1-0-0-152, buff-on-1-0-0-152, consumable-bought-on-1-0-0-152, critical-strike-on-1-0-0-152, damage-dealt-on-1-0-0-152, damage-taken-on-1-0-0-152, death-assist-on-1-0-0-152, died-on-1-0-0-152, dragon-killed-on-1-0-0-152, dragon-killed-watched-on-1-0-0-152, gold-earned-on-1-0-0-152, gold-spent-on-1-0-0-152, heal-cast-on-1-0-0-152, heal-on-1-0-0-152, item-bought-on-1-0-0-152, item-callout-on-1-0-0-152, item-changed-on-1-0-0-152, killing-spree-on-1-0-0-152, one-on-1-0-0-152, point-acaptured-on-1-0-0-152, point-aneutralized-on-1-0-0-152, point-bcaptured-on-1-0-0-152, point-bneutralized-on-1-0-0-152, point-ccaptured-on-1-0-0-152, point-cneutralized-on-1-0-0-152, point-dcaptured-on-1-0-0-152, point-dneutralized-on-1-0-0-152, point-ecaptured-on-1-0-0-152, point-eneutralized-on-1-0-0-152, removed-on-1-0-0-152, spider-killed-on-1-0-0-152, spider-killed-watched-on-1-0-0-152, start-notice-five-on-1-0-0-152, start-notice-four-on-1-0-0-152, start-notice-three-on-1-0-0-152, start-notice-two-on-1-0-0-152, surrender-agreed-on-1-0-0-152, surrender-failed-on-1-0-0-152, surrender-vote-cast-on-1-0-0-152, surrender-vote-spam-on-1-0-0-152, surrender-vote-started-on-1-0-0-152, welcome-on-1-0-0-152)eventtakes 78 itemChanged, 79 surrenderVoteStarted, 80 surrenderVoteCast, 81 surrenderAlreadyVoted, 82 surrenderFailed, 83 surrenderTooEarly, 84 surrenderAgreed, 85 surrenderVoteSpam, 88 minionsSpawned, 89 welcome, 90 startNoticeTwo, 91 startNoticeThree, 92 startNoticeFour, 93 startNoticeFive, 94 alert, 95 scoreboardOpened, 98 pointANeutralized, 99 pointBNeutralized, 100 pointCNeutralized, 101 pointDNeutralized, 102 pointENeutralized, 103 pointACaptured, 104 pointBCaptured, 105 pointCCaptured, 106 pointDCaptured, 107 pointECaptured in 1.0.0.152–1.0.0.153 and not in 1.0.0.151.eventtakes 78 surrenderVoteStarted, 79 surrenderVoteCast, 80 surrenderAlreadyVoted, 81 surrenderFailed, 82 surrenderTooEarly, 83 surrenderAgreed, 84 surrenderVoteSpam, 87 minionsSpawned, 88 welcome, 89 startNoticeTwo, 90 startNoticeThree, 91 startNoticeFour, 92 startNoticeFive, 93 alert, 94 scoreboardOpened, 97 pointANeutralized, 98 pointBNeutralized, 99 pointCNeutralized, 100 pointDNeutralized, 101 pointENeutralized, 102 pointACaptured, 103 pointBCaptured, 104 pointCCaptured, 105 pointDCaptured, 106 pointECaptured, 115 particleLimit in 1.0.0.151 and not in 1.0.0.152–1.0.0.153.valueis present when event = 24 or 76 or 122 or 123 in 1.0.0.151, and present when event = 24 or 76 or 78 or 122 or 123 in 1.0.0.152–1.0.0.153.votesis present when event = 78 or 79 or 81 or 83 or 84 in 1.0.0.151, and present when event = 79 or 80 or 82 or 84 or 85 in 1.0.0.152–1.0.0.153.alertis present when event = 93 in 1.0.0.151, and present when event = 94 in 1.0.0.152–1.0.0.153.numberis present when event = 88 or 89 or 90 or 91 or 92 or 97 or 98 or 99 or 100 or 101 or 102 or 103 or 104 or 105 or 106 in 1.0.0.151, and present when event = 89 or 90 or 91 or 92 or 93 or 98 or 99 or 100 or 101 or 102 or 103 or 104 or 105 or 106 or 107 in 1.0.0.152–1.0.0.153.
DeathHistoryentries[].eventtakes 78 itemChanged, 88 minionsSpawned, 89 welcome, 90 startNoticeTwo, 91 startNoticeThree, 95 scoreboardOpened in 1.0.0.152–1.0.0.153 and not in 1.0.0.151.entries[].eventtakes 87 minionsSpawned, 88 welcome, 89 startNoticeTwo, 90 startNoticeThree, 94 scoreboardOpened, 115 particleLimit in 1.0.0.151 and not in 1.0.0.152–1.0.0.153.entries[].valueis present when event = 24 or 76 or 122 or 123 in 1.0.0.151, and present when event = 24 or 76 or 78 or 122 or 123 in 1.0.0.152–1.0.0.153.
PathWithSpeedfacingis i8 in 1.0.0.151 and u8 in 1.0.0.152–1.0.0.153.
PlayAnimationflagsnames bit 6noRestartin 1.0.0.151 andnoBlendin 1.0.0.152–1.0.0.153.flagsnames bit 7noFadeInin 1.0.0.151 andlockedFromIdlein 1.0.0.152–1.0.0.153.flagsnames bit 8jumpToEndin 1.0.0.151 andreservedin 1.0.0.152–1.0.0.153.startProgressis in 1.0.0.152–1.0.0.153 (f32), afterscaleTime, and not in 1.0.0.151.
SpellSlotChangedtargetCountis in 1.0.0.152–1.0.0.153 (u8), aftericon, and not in 1.0.0.151.targetsis in 1.0.0.152–1.0.0.153 (count in targetCount × u32), aftertargetCount, and not in 1.0.0.151.offsetFromis in 1.0.0.151 and not in 1.0.0.152–1.0.0.153.
WorldEventeventtakes 78 itemChanged, 88 minionsSpawned, 89 welcome, 90 startNoticeTwo, 91 startNoticeThree, 95 scoreboardOpened in 1.0.0.152–1.0.0.153 and not in 1.0.0.151.eventtakes 87 minionsSpawned, 88 welcome, 89 startNoticeTwo, 90 startNoticeThree, 94 scoreboardOpened, 115 particleLimit in 1.0.0.151 and not in 1.0.0.152–1.0.0.153.valueis present when event = 24 or 76 or 122 or 123 in 1.0.0.151, and present when event = 24 or 76 or 78 or 122 or 123 in 1.0.0.152–1.0.0.153.
1.0.0.154–3.1.0.0
Client builds from 1.0.0.154 up to, not including, 3.01.0.1. Patch notes: V1.0.0.154.
| Build checked | Passed | Failed | Skipped | Commit | Date |
|---|---|---|---|---|---|
| 1.0.0.154 | 11 | 0 | 3 | 2363f66 | 2026-10-23 |
Other ranges of this book have these, and this one does not, so what the chapters say of them says nothing of it: CooldownSet, MinimapHighlighted, ShopHighlighted, SpellIconChanged, SpellNameChanged, SpellOffsetTargetChanged, SpellRangeChanged, SpellTargetingChanged.
Every message of this range (224)
Against 1.0.0.152–1.0.0.153
Where a build from 1.0.0.154 up to, not including, 3.01.0.1 differs from one from 1.0.0.152 up to, not including, 1.0.0.154. Anything not named here is the same in both.
In 1.0.0.154–3.1.0.0, not in 1.0.0.152–1.0.0.153
| Message | Sent by | Command | What it does |
|---|---|---|---|
ContextEmote | server | 240 on events | What a server sends about an emote a champion played for the moment |
HoverIndicator | server | 243 on events | Turn a unit’s hover indicator on or off |
HoverTarget | server | 242 on events | Set the unit a unit’s hover indicator points at |
MissileLaunched | server | 107 on events | What a server sends as the missile a swing or a cast prepared leaves the unit |
SystemMessage | server | 244 on events | Put a line of its own in a client’s chat |
Laid out differently
ChampionDied(vectors: physical-on-1-0-0-154)damageTypeis u8 in 1.0.0.152–1.0.0.153 and u32 in 1.0.0.154–3.1.0.0.damageSourceis u8 in 1.0.0.152–1.0.0.153 and u32 in 1.0.0.154–3.1.0.0.
MinimapIcon(vectors: one-on-1-0-0-154)changeIconis in 1.0.0.154–3.1.0.0 (u8), afterunit, and not in 1.0.0.152–1.0.0.153.changeBorderis in 1.0.0.154–3.1.0.0 (u8), aftericon, and not in 1.0.0.152–1.0.0.153.borderis in 1.0.0.154–3.1.0.0 (text, 64 bytes), afterchangeBorder, and not in 1.0.0.152–1.0.0.153.
SpellNumbers(vectors: one-on-1-0-0-154)entries[].valuesis 3 × f32 in 1.0.0.152–1.0.0.153 and 5 × f32 in 1.0.0.154–3.1.0.0.
UnitDied(vectors: one-on-1-0-0-154)damageTypeis u8 in 1.0.0.152–1.0.0.153 and u32 in 1.0.0.154–3.1.0.0.damageSourceis u8 in 1.0.0.152–1.0.0.153 and u32 in 1.0.0.154–3.1.0.0.
Only notes
These read the same on the wire, and only their notes change. What each says in 1.0.0.154–3.1.0.0:
BuildingDied,lastChampion: “For an inhibitor, the unit credited with destroying it; zero credits the attacker. A client reads it for nothing else.”, where 1.0.0.152–1.0.0.153 has “Unused; a client reads nothing here.”