# What changed in @colyseus/sdk

> 11 changes in @colyseus/sdk 0.18 from its official release notes, upgrade guides and advisories: 4 breaking. Each one cited. Sources checked 2026-11-02. HTML: https://unstale.sh/npm/@colyseus/sdk/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @colyseus/sdk 0.18

### Breaking changes

- Script-tag apps must load this file before the first join. (0.18.9) — [release notes](https://github.com/colyseus/colyseus/releases/tag/%40colyseus/sdk%400.18.9)
- Going offline in the browser now closes every open connection, not every other one. (0.18.7) — [release notes](https://github.com/colyseus/colyseus/releases/tag/%40colyseus/sdk%400.18.7)
- If a listener throws, the other listeners and subsequent room actions still run; the first error is rethrown after all listeners have run. (0.18.7) — [release notes](https://github.com/colyseus/colyseus/releases/tag/%40colyseus/sdk%400.18.7)
- In Node 22, a room keeps retrying while the server is unreachable instead of giving up after the first failed attempt. (0.18.7) — [release notes](https://github.com/colyseus/colyseus/releases/tag/%40colyseus/sdk%400.18.7)

### Behavior and default changes

- Debug tooling is only wired up when this module is imported. (0.18.9) — [release notes](https://github.com/colyseus/colyseus/releases/tag/%40colyseus/sdk%400.18.9)

### Fixes and other changes

- Safari no longer logs an incorrect WebSocket protocol error each time a room connects. (0.18.8) — [release notes](https://github.com/colyseus/colyseus/releases/tag/%40colyseus/sdk%400.18.8)
- A connection that never opened no longer keeps another room's connection open when the browser goes offline. (0.18.7) — [release notes](https://github.com/colyseus/colyseus/releases/tag/%40colyseus/sdk%400.18.7)
- While reconnecting, leave() now stops reconnection and resolves immediately with CloseCode.CONSENTED; before the join completes, it leaves as soon as it does. (0.18.7) — [release notes](https://github.com/colyseus/colyseus/releases/tag/%40colyseus/sdk%400.18.7)
- In Node 22, calling leave(false) from onError during a failed reconnection attempt no longer recurses. (0.18.7) — [release notes](https://github.com/colyseus/colyseus/releases/tag/%40colyseus/sdk%400.18.7)
- A throwing onDrop listener no longer leaves the room's socket open. (0.18.7) — [release notes](https://github.com/colyseus/colyseus/releases/tag/%40colyseus/sdk%400.18.7)
- A throwing onLeave listener no longer leaves the room's socket open. (0.18.7) — [release notes](https://github.com/colyseus/colyseus/releases/tag/%40colyseus/sdk%400.18.7)
