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.
This release introduces several new features including retroreflectivity support and SunLight with cascaded shadow maps, while also removing deprecated PCFSoftShadowMap and renaming 'Source' to 'TextureSource'. Various optimizations and fixes have been made across the codebase.
affected
Users relying on PCFSoftShadowMap or referencing the old 'Source' name will need to update their code.
action
Review and update any code using PCFSoftShadowMap or referencing the old 'Source' name, and consider adopting new features like retroreflectivity and SunLight.
release_signals
-Removed PCFSoftShadowMap code and added a warning when it's used, indicating it's no longer supported.
-Renamed 'Source' to 'TextureSource', which may require updates in code referencing the old name.
!PCFSoftShadowMap has been removed and will now trigger a warning if used.
+Added support for retroreflectivity in MeshPhysicalMaterial.
+Introduced `intersectsFrustum()` and `dispose()` methods to Object3D.
+Added SunLight with cascaded shadow maps in WebGLRenderer.
+Support for dynamic swapping of the lighting system in WebGPURenderer.
+Introduced DirectRenderPipeline in WebGPURenderer for more efficient rendering.
migration_steps2 steps
01Replace any usage of PCFSoftShadowMap with alternative shadow mapping techniques.
02Update references from 'Source' to 'TextureSource' in your codebase.
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()`
r184mediumbreakingfeaturesecurityApr 16, 2026
r184
This release introduces HTMLTexture support, improves rendering consistency, and fixes several bugs across the library. Notable updates include enhancements to WebGPU rendering, animation modules, and material handling.
affected
Developers using deprecated instancing render paths or relying on default Texture setter parameters will need to update their code.
action
Review the migration guide for changes related to deprecated features and update your code accordingly.
release_signals
-Removed deprecated instancing render paths in BatchedMesh
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`
-
r182highbreakingmigrationfeatureDec 10, 2025
r182
This release introduces significant improvements to WebGL and WebGPU renderers, including modernized shadow mapping, enhanced material accuracy, and new TSL features. It also includes optimizations, bug fixes, and documentation updates.
affected
Developers using WebGLRenderer, WebGPURenderer, or TSL will be affected by breaking changes and new features.
action
Review the migration guide and update your code to accommodate breaking changes and new features.
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.
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 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
01Refer to migration guide for changes from r184 to r185: https://github.com/mrdoob/three.js/wiki/Migration-Guide#184--185
02Replace usage of Matrix3's deprecated methods with alternative approaches
03Update code using `determinant3x3()` to use `determinantAffine()` instead
04Update TSL code to use new API signatures and removed definitions
05Check for any usage of removed deprecated APIs throughout the codebase