stack.pulse
#stacks/threejs/library

Three.js release notes, breaking changes, and upgrade notes.

JavaScript 3D library StackPulse turns upstream changelogs into scannable summaries with risky changes, deprecations, migration notes, and source links.

releases
6
breaking
6
security
1
deprecated
4
migrations
5

Get source-linked upgrade notes and occasional sponsor recommendations. No GitHub login required.

what stackpulse tracks

Three.js releases from GitHub

StackPulse watches Three.js release notes and keeps the original source link close to every summary.

upgrade risk

Breaking changes and deprecations

Risky changes are separated from normal feature notes so you can scan upgrade impact before changing production dependencies.

migration notes

Source-backed next steps

Migration steps and recommended actions are only shown when the upstream release notes support them.

# latest_releases

source-backed
r185highbreakingdeprecationmigrationfeatureJun 25, 2026

r185

This release focuses on performance optimizations, bug fixes, and deprecations. Key changes include improvements to rendering, matrix operations, and TSL (Three.js Shader Language) enhancements.

affected

Developers using deprecated Matrix3 methods, custom shaders, or TSL functionality will be most affected by these changes.

action

Review the migration guide and update code to replace deprecated APIs and accommodate breaking changes.

release_signals
-Matrix3 methods `.scale()`, `.rotate()`, and `.translate()` are now deprecated
-Renamed `Matrix4.determinant3x3()` to `determinantAffine()`
-Removed deprecated code across the codebase (unspecified which APIs)
-TSL: Removed `string` and `arrayBuffer` definitions
-Renamed `directionToFaceDirection` to `negateOnBackSide` in TSL
!Matrix3 methods `.scale()`, `.rotate()`, and `.translate()` are deprecated
!Some shader-related functionality marked with deprecation notes (unspecified)
!Removed various deprecated code throughout the codebase
+Added `Material.registerMaterial()` and `Material.fromJSON()` for better material management
+Introduced `transformNormalByInverseViewMatrix()` in WebGLRenderer shaders
+Support for new WICG HTML-in-Canvas API signatures in HTMLTexture
+Added `max()` function for outputs in ColorAdjustment
+Introduced `storageTexture3D` and textureGather support in TSL
migration_steps5 steps
  1. 01Refer to migration guide for changes from r184 to r185: https://github.com/mrdoob/three.js/wiki/Migration-Guide#184--185
  2. 02Replace usage of Matrix3's deprecated methods with alternative approaches
  3. 03Update code using `determinant3x3()` to use `determinantAffine()` instead
  4. 04Update TSL code to use new API signatures and removed definitions
  5. 05Check for any usage of removed deprecated APIs throughout the codebase
view source on github->
r183highbreakingdeprecationmigrationfeatureFeb 20, 2026

r183

This release focuses on removing deprecated code, improving shadow mapping, and introducing new features like BezierInterpolant and support for scene.environment IBL in materials.

affected

Developers using deprecated features or relying on the `Clock` module will need to update their code.

action

Review the migration guide and update your code to replace deprecated features and modules.

release_signals
-Remove deprecated code globally
-Rename `shadowMap.color` to `shadowMap.colored` and then to `shadowMap.transmitted`
-Deprecate `Clock` module
-Remove `bindingsReference` in BindGroup
-Remove `scriptable` node in TSL
!Deprecate `Clock` module
!Remove `bindingsReference` in BindGroup
!Remove `scriptable` node in TSL
+Add BezierInterpolant for smoother animations
+Add support for scene.environment IBL in MeshLambertMaterial and MeshPhongMaterial
+Enable per-instance opacity in BatchedMesh
+Add support for wireframe materials in BatchedMesh
+Introduce `clipSpace` in TSL for better rendering control
migration_steps4 steps
  1. 01Update references from `shadowMap.color` to `shadowMap.transmitted`
  2. 02Replace deprecated `Clock` module usage with alternative timing mechanisms
  3. 03Remove any usage of `bindingsReference` in BindGroup
  4. 04Update TSL scripts to remove `scriptable` node references
view source on github->
r181highbreakingdeprecationmigrationfeatureNov 19, 2025

r181

This release introduces several improvements and fixes across the library, including updates to WebGLRenderer, WebGPURenderer, and various material and node enhancements. Notable changes include the removal of WebGL 1.0 compatibility code and the introduction of multi-scattering energy compensation for direct lighting.

affected

Developers using WebGL 1.0 or async methods in WebGPURenderer will need to migrate to newer APIs.

action

Update your code to remove WebGL 1.0 compatibility and replace deprecated async methods in WebGPURenderer.

release_signals
-WebGL 1.0 compatibility code has been removed.
-Deprecation of `renderAsync()`, `computeAsync()`, and related async methods in WebGPURenderer.
!`renderAsync()`, `computeAsync()`, and related async methods in WebGPURenderer are deprecated.
!`waitForGPU()` method in WebGPURenderer has been removed.
+MeshMatcapMaterial now supports wireframe.
+PMREMGenerator implements GGX VNDF importance sampling.
+WebGLRenderer uses DFG LUT instead of analytical approximation.
+WebGPURenderer introduces `CanvasTarget` and `Inspector`.
+Multi-scattering energy compensation for direct lighting in WebGLRenderer and WebGPURenderer.
migration_steps2 steps
  1. 01Migrate from WebGL 1.0 compatibility code to WebGL 2.0 or WebGPU.
  2. 02Replace deprecated async methods in WebGPURenderer with synchronous alternatives.
view source on github->
r180mediumbreakingdeprecationmigrationfeatureSep 3, 2025

r180

This release focuses on cleanup, bug fixes, and improvements across various modules, including WebGPU, TSL, and material handling. Notable additions include HDR support and texture offset features.

affected

Users relying on deprecated APIs or RGBMLoader will need to update their code.

action

Review the migration guide and update deprecated code.

release_signals
-Removed deprecated code globally
-Deprecated `premultipliedGaussianBlur()` in TSL
!Deprecated `premultipliedGaussianBlur()` in TSL
!Removed RGBMLoader
+Added HDR support in WebGPURenderer
+Introduce `uniformFlow()` in TSL
+Add `SubgroupFunctionNode` with compute reduction demo
+Support `ExternalTexture` with `GPUTexture` in WebGPURenderer
+Add texture offset feature in TSL
migration_steps1 steps
  1. 01Refer to the migration guide for changes from r179 to r180
view source on github->