Three.js r186 (npm: three@0.186.0), released September 8, 2026, is the biggest single release in this year's accelerated cadence — five releases from r182 through r186 in under ten months. The headline features are practical rather than experimental: things that make scenes look better with less code.
SunLight and cascaded shadows
The standout addition is SunLight (three/addons/lights/SunLight.js), a helper that packages a directional sun with two built-in shadow cascades for both WebGL and WebGPU renderers. Cascaded shadow maps have long been a standard technique for outdoor scenes — they allocate more shadow resolution near the camera and progressively coarser resolution toward the horizon — but wiring them up in Three.js required custom code or community add-ons. SunLight makes the common case drop-in.
Compute shader precompilation
compileComputeAsync() lets you pre-compile compute shaders before they're first needed, eliminating the stutter that typically appears when a shader compiles on the fly during rendering. This is particularly useful for applications that use compute shaders for particle simulation, procedural geometry, or post-processing — anything where a first-frame hitch would be visible.
PBR energy conservation rework
The physically-based rendering shading model received an update to its energy conservation math. The practical effect is more realistic material behavior at grazing angles — metal and rough surfaces now retain the right ratio of specular to diffuse energy instead of adding light that shouldn't exist. A subtle but meaningful correctness improvement for photorealistic scenes.
WebGPU is now the default path
r186 doesn't introduce WebGPU — that happened in r163 — but it reflects a shifted assumption. WebGPU is on by default in Chrome, Edge, Safari 26, and Firefox on Windows and Apple Silicon Macs. Three.js's WebGPURenderer falls back to WebGL 2 automatically for browsers that don't support it, but the expectation is that the majority of users now hit the WebGPU path.
Notable removals
The minified builds are gone — let your bundler handle minification. PCFSoftShadowMap is removed; the renderer warns and falls back to PCFShadowMap, with minimal visual difference for most scenes. The rangeFog and viewportResolution TSL exports are also removed.
A patch release, three@0.186.1, landed on npm in late September with bug fixes over r186. The r187 cycle is underway in the main branch. Three.js is moving fast, the WebGPU-first trajectory is now the clear path forward, and r186 is the release that makes it feel inevitable rather than aspirational.