← ChangeRadar
three.js: changelog & breaking changes
Auto-tracked from github.com/mrdoob/three.js. Updated Jun 28, 2026.
r185
2026-06-25
⚠ Potential breaking changes
- https://github.com/mrdoob/three.js/wiki/Migration-Guide#184--185
- Remove deprecated code. #33407 (@Mugen87)
- deprecate `.scale()`, `.rotate()`, and `.translate()`. #33757 (@WestLangley)
- Add deprecation note. #33729 (@WestLangley)
- Remove `string`, `arrayBuffer` definitions. #33430 (@sunag)
- Remove modInt export from Three.TSL.js. #33628 (@Methuselah96)
- Migrate vertex accessor classes to TSL Fn. #33674 (@sunag)
- Remove "setDecoderPath" in non-gltf path examples. #33604 (@gkjohnson)
- Migrate examples to new DRACOLoader url config. #33724 (@gkjohnson)
- Remove ammo.js examples. #33786 (@mrdoob, @claude)
r184
2026-04-16
⚠ Potential breaking changes
- https://github.com/mrdoob/three.js/wiki/Migration-Guide#183--184
- Remove deprecated instancing render paths. #33234 (@Mugen87)
- Remove default setter parameter. #33129 (@PoseidonEnergy)
- Fix array texture with no `.depth()` defined breaks shader compilation. #33096 (@sunag)
- Remove inline functions in rendering methods. #33108 (@PoseidonEnergy, @Mugen87)
- Remove reference to Matrix4.setRotationFromQuaternion(). #33320 (@Kodub)
- Autoplay sintel video, remove Play overlay. f3fa844ba4ca59d4f1bef62daadcea720456de39 (@mrdoob, @claude)
- Remove unused memorial.png texture. 6814f96375a7eba5946c808d898422c7c5edb5f0 (@mrdoob, @claude)
- Remove unused `_invSize` uniform. cbf6fff0287c3d259a17af418a549f8598eb47ed (@Mugen87)
- Remove buggy `getBigInt64()` fallback. #33387 (@Mugen87)
r183
2026-02-20
⚠ Potential breaking changes
- https://github.com/mrdoob/three.js/wiki/Migration-Guide#182--183
- Remove deprecated code. #32569 (@Mugen87)
- Removed eslint-plugin-import-x. #32653 (@mrdoob)
- Remove reference to `Clock`. #33026 (@Mugen87)
- Remove `bindingsReference`. #32910 (@Mugen87)
- Deprecated module. #32798 (@Mugen87)
- Remove `shadowPositionNode` fallback to reduce CPU load. #32699 (@Mugen87)
- Remove outdated `setupUV()`. #32630 (@Mugen87)
- Remove exports for removed TSL methods. #32635 (@Methuselah96)
- Remove `scriptable` node. #32925 (@sunag)
r182
2025-12-10
⚠ Potential breaking changes
- https://github.com/mrdoob/three.js/wiki/Migration-Guide#181--182
- Migrate to ESLint 9, flat config. #32471, #32518, #32519, #32520 (@gkjohnson, @Mugen87)
- Remove `fromJSON()`. #32415 (@Mugen87)
- Renamed `DFGApprox` to `DFGLUT`. #32399 (@mrdoob)
- Remove `nodeObject()` for Node classes. #32515 (@sunag)
- Remove `SUPPORTS_VERTEX_TEXTURES`. #32455 (@mrdoob)
- Remove unused parameter from `BatchedMesh.optimize()`. #32186 (@querielo)
- Renamed “external” tag to “community”. #32232 (@mrdoob)
- Migrate `royal_esplanade` examples to `UltraHDRLoader`. #32380 (@mrdoob)
- Add `isSkyMesh` flag and deprecate `isSky`. #32263 (@querielo)
r181
2025-11-19
⚠ Potential breaking changes
- https://github.com/mrdoob/three.js/wiki/Migration-Guide#180--181
- Fix `onDispose` listener not being removed in `Sampler`. #31868 (@shotamatsuda)
- Assign stack for nodes after remove stack. #32137 (@sunag)
- Remove WebGL 1.0 compatibility code. #32071, 62e6f436cec8bae9a55f47f7fca16629ea0eb679 (@mrdoob)
- Deprecate `renderAsync()`, `computeAsync()` and related async methods. #32022, #32026, #32029, #32033, #32042, #32063 (@Mugen87, @sunag)
- Remove `waitForGPU()`. #32024 (@Mugen87)
- Removed legacy docs. #32117
- Remove noise from black texture. #31858 (@s-rigaud)
- Ensure element exists when execute remove. #31905 (@xiaoliyooo)
- Fixed end caps and removed object allocations. #32030, 21009ebc442a3566e76ba0f4d9b8b19a5c910c7d (@mrdoob)
r180
2025-09-03
⚠ Potential breaking changes
- https://github.com/mrdoob/three.js/wiki/Migration-Guide#179--180
- Remove deprecated code. #31632, #31555 (@Mugen87)
- Refine pow2/3/4 and remove polyfill for Windows. #31720 (@shotamatsuda)
- Remove redundant dispose handlers. #31603 (@Mugen87)
- Align API of blur filters and deprecated `premultipliedGaussianBlur()`. #31557, #31559, #31741 (@Mugen87, @sunag, @s-rigaud)
- Remove the need for `toVar()`. #31580 (@sunag)
r179
2025-08-02
⚠ Potential breaking changes
- https://github.com/mrdoob/three.js/wiki/Migration-Guide#178--179
- Remove unused `lineWidth` property. #31401 (@Jenychen1996)
- Remove obsolete argument from `getDrawingBufferSize()`. #31460 (@Mugen87)
r178
2025-06-30
⚠ Potential breaking changes
- https://github.com/mrdoob/three.js/wiki/Migration-Guide#r177--r178
- Remove deprecated code. #31254 (@Mugen87)
- Remove PURE annotation. #31293 (@Mugen87)
- Remove transformed* prefix. #31271 (@sunag)
- Add `removeMesh()`. #31296, #31298 (@linbingquan)