https://github.com/mrdoob/three.js/wiki/Migration-Guide#182--183
https://github.com/mrdoob/three.js/milestone/96?closed=1
-
Global
- Remove deprecated code. #32569, #32572 (@Mugen87)
-
BatchedMesh
- Fix nextIndexStart and nextVertexStart assignment. #32744 (@gkjohnson)
-
InstanceNode
-
Support velocity. #32586 (@Mugen87)
-
Fix UBO size and attribute update. #32615 (@Mugen87)
-
-
Lighting
- Refactor camera usage. #32557 (@sunag)
-
Matrix4
-
Optimize invert() calculation. #32657 (@mrdoob)
-
Cache determinant result in decompose(). #32658 (@mrdoob)
-
-
NodeBuilders
- Unify uniform groups of different shader stages. #32534 (@sunag)
-
NodeMaterial
-
Remove shadowPositionNode fallback to reduce CPU load. #32699 (@Mugen87)
-
Add maskShadowNode. #32598 (@sunag)
-
-
Object3D
-
Add pivot property. #32745 (@mrdoob)
-
Document static property, add support in copy() and JSON. #32679 (@Mugen87)
-
Fix worldToLocal typo. #32647 (@satelllte)
-
-
Quaternion
- Support extrapolation in slerp methods. #32541 (@WestLangley)
-
RenderContext
- Refactor context key. #32546 (@Mugen87)
-
RenderObject
- Fix ID assignment bug. #32700 (@Mugen87)
-
Renderer
-
Shadow map improvements. #32705 (@Mugen87)
-
Introduce shadowMap.color. #32596 (@sunag)
-
Rename shadowMap.color to shadowMap.colored. #32608 (@Mugen87)
-
Rename shadowMap.colored to shadowMap.transmitted. #32611 (@sunag)
-
-
ShadowMaterial
- Respect premultiplied alpha. #32550 (@gkjohnson)
-
SkinningNode
- Fix tangent transformation. #32718 (@Mugen87)
-
SpriteSheetUVNode
- Transform to TSL function and fix countNode access. #32693 (@gayanMatch)
-
Texture3DNode
- Remove outdated setupUV(). #32630 (@Mugen87)
-
TorusGeometry
- Add thetaStart and thetaLength parameters. #32760 (@3dpk-interactive)
-
TSL
-
Introduce clipSpace. #32594 (@sunag)
-
Introduce TSL.md (TSL Spec). #32601 (@sunag)
-
Add exponentialHeightFogFactor(). #32659 (@Mugen87)
-
Check if the stack has a valid output. #32669 (@sunag)
-
Fix positionView sub-build. #32691 (@sunag)
-
Revert positionWorld re-computation. #32710 (@sunag)
-
Fix invalid GLSL using nested structures. #32724 (@sunag)
-
Use raw data for DebugNode callback. #32638 (@linbingquan)
-
Remove exports for removed TSL methods. #32635 (@Methuselah96)
-
-
UniformsGroup
-
Partial updates. #32558 (@sunag)
-
Add range cache and fix clear old update ranges. #32561 (@sunag)
-
-
ViewportTextureNode
- Change update type to RENDER. #32664 (@Mugen87)
-
WebGLRenderer
-
Consider skinning/instancing when sorting objects. #28125 (@OndrejSpanel)
-
Allow InstancedMesh provide a unique ID for WebGLBindingStates. #32556 (@OndrejSpanel)
-
Fix PCFSoftShadowMap check. #32593 (@Mugen87)
-
Fix shadow map uniform management. #32590 (@Mugen87)
-
Fix reading pixel in MRT. #32506 (@andredsm)
-
Fix pointlight shadows with reversed depth buffer. #32749 (@Mugen87)
-
Fix remaining shadow issues with reversed depth. #32751 (@Mugen87)
-
Fix shadow bias with reversed depth buffer. #32770 (@Mugen87)
-
-
WebGPURenderer
-
Unify uniformGroup bindings across shader stages. #32602 (@sunag)
-
Fix shadow comparison on Adreno GPUs. #32548 (@sunag)
-
Prevent undefined GPUShaderStage. #32539 (@verekia)
-
Prevent translation of skybox. #32537 (@Mugen87)
-
Fix compileAsync() with target scenes. #32530 (@Mugen87)
-
Add per-attachment MRT blending support. #32636 (@sunag)
-
Fix depth/stencil format out-of-sync bug. #32731 (@Mugen87)
-
Use @interpolate(flat, either) for all cases. #32761 (@greggman)
-
-
XR
- Fix camera layers inheritance. #32626 (@wrangelvid)
Docs
-
Improve JSDoc documentation in utils.js. #32743 (@Angel98518)
-
Improved search results. #32577, #32578 (@mrdoob)
-
Update documentation for ImageBitmapLoader options. #32574 (@jwheare)
-
Update URL in VignetteShader.js documentation. #32573 (@jwheare)
-
Update GLTFLoader documentation to include KHR_meshopt_compression. #32661 (@donmccurdy)
-
Clarify the usage of update() in Helpers. #32717 (@Mugen87)
-
Fix JSDoc example. #32603 (@leannepepper)
-
Frame-rate independent cube rotation example. #32627 (@satelllte)
-
Fixed typos. #32629, #32631 (@mrdoob)
Examples
-
Add fog scattering demo. #32613 (@Mugen87)
-
Add bloom to ocean examples. #32680 (@mrdoob)
-
Add missing UnrealBloomPass parameters. #32736 (@Methuselah96)
-
Improved webgl_animation_keyframes. #32685 (@mrdoob)
-
Update webgpu_shadowmap. #32610 (@sunag)
-
Remove obsolete shadow bias from WebGPU demos. #32715 (@Mugen87)
-
Remove material AO demo. #32579 (@Mugen87)
-
Update jolt-physics to v1.0.0. #32711 (@linbingquan)
-
Cleanup. #32528, #32634 (@Methuselah96)
-
Add external example for Polyslice G-code slicer. #32502 (@jgphilpott)
Addons
-
Devtools
- Add access to AnimationMixer and Loaders. #32616 (@marwie)
-
GCodeExporter
- Add GCodeExporter. #32502 (@jgphilpott)
-
GCodeLoader
- Add support for M82/M83 commands. #32687 (@Mugen87)
-
GLTFExporter
-
Fix skinIndex export for InterleavedBufferAttribute. #32607 (@querielo)
-
Add Object3D.pivot support. #32769 (@mrdoob)
-
-
GLTFLoader
-
Implement support for KHR_meshopt_compression. #32163 (@zeux)
-
Fix empty groups when multiple scenes reference same nodes. #32567 (@YusakuNo1)
-
Add sanity check for navigator.userAgent. #32633 (@leonmetthez)
-
-
Inspector
- Store parameters object+key. #32507 (@marwie)
-
JoltPhysics
- Fix dynamic import Vite warning. (@mrdoob)
-
KTX2Loader
-
Fix alpha for BC3 textures. #32772 (@donmccurdy)
-
Add sanity check for navigator.userAgent. #32633 (@leonmetthez)
-
-
LensflareMesh
- Fix DPR usage. #32625 (@Mugen87)
-
Line2NodeMaterial
-
Rename useColor property to vertexColors. #32670 (@sunag)
-
Avoid performance degradation with viewportSharedTexture(). #32639 (@Mugen87)
-
-
Loaders
- Use named fflate imports and native TextDecoder. #32765 (@mrdoob)
-
PCDLoader
- Fix label parsing. #32683 (@Mugen87)
-
PMREM
- Simplify GGX VNDF importance sampling. #32737 (@Mugen87)
-
RapierPhysics
- Fix dynamic import Vite warning. #32565 (@mrdoob)
-
RoomEnvironment
- Adjust scene position. #32646 (@mrdoob)
-
Sky/SkyMesh
-
Add procedural clouds. #32682 (@mrdoob)
-
Remove legacy gamma correction curve. #32677 (@mrdoob)
-
-
SSRNode
- Performance optimizations. #32637 (@mrdoob)
-
USDLoader
-
Add USDC file support. #32704 (@mrdoob)
-
Refactor into USDComposer and add animation support. #32740 (@mrdoob)
-
Improve material and UV support. #32746 (@mrdoob)
-
Add OpenPBR Surface shader and polygon hole support. #32764 (@mrdoob)
-
Various bug fixes and improvements. #32766 (@mrdoob)
-
-
USDAParser
- Improve text parsing robustness. #32747 (@mrdoob)
-
VRMLLoader
- Add camera support. #32580 (@Mugen87)
-
VTKLoader
- Fix ReDoS vulnerability. #32622 (@mrdoob)
-
Water/WaterMesh
-
Improve realism. #32681 (@mrdoob)
-
Use HalfFloatType for reflection render target. #32678 (@mrdoob)
-
Editor
-
Modernized ui.js. #32545 (@mrdoob)
-
Add Resources panel to Project sidebar. #32729 (@mrdoob)
-
Replace FFmpeg with WebCodecs for video rendering. #32728 (@mrdoob)
-
Move render options from sidebar to menubar. #32727 (@mrdoob)
-
Enable logarithmic depth buffer. #32732 (@mrdoob)
-
Add default environment. #32752 (@mrdoob)
-
Simplify environment handling. #32757 (@mrdoob)
-
UI css scope. #32714 (@linbingquan)
-
Use ES6 const/let for app.js. #32712 (@linbingquan)
-
Migrate ESLint to flat config. #32754 (@ycw)
-
Improve service worker caching and activation. (@mrdoob)
-
Archived playground. #32771 (@mrdoob)
Scripts
-
Replace servez with custom server.js. #32654 (@mrdoob)
-
Replace concurrently with custom preview.js. #32655 (@mrdoob)
-
Remove dev-ssl and preview-ssl. #32672 (@mrdoob)
-
Cross-platform isMain check in server.js. #32674 (@ycw)
Tests
-
Remove pixelmatch dependency. #32656 (@mrdoob)
-
Replace jimp with jpeg-js and pngjs. #32652 (@mrdoob)
-
Remove express dependency. #32649 (@mrdoob)