npm / @react-three/postprocessing
@react-three/postprocessing
What changed in @react-three/postprocessing 3, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-19.
3 breaking16 new APIs and options1 behavior and defaults2 tooling4 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli init@react-three/postprocessing 326 changes
Breaking changes 3
Lowers default multisampling from 8 to 4; pass multisampling={8} to restore the old default.
blendFunction now applies instead of being ignored and always set to ADD.
Requires exactly one of textureSrc or texture; passing both or neither is a type error.
New APIs and options 16
Adds an opacity prop.
Adds an opacity prop.
Adds an opacity prop.
Exports GodRaysProps.
Adds an RGB halftone effect ported from three.js' HalftoneShader.
Adds a painterly filter effect.
Adds an effect that wraps postprocessing's LensDistortionEffect.
Exports LensFlareProps.
Adds a linocut print effect ported from TresJS post-processing.
Adds an opacity prop.
Adds an opacity prop.
Adds an exclude prop to keep a subtree out of an enabled ancestor's selection.
Adds an opacity prop.
Adds a sharpening effect.
Adds an opacity prop.
Exports SSAOProps.
Behavior and default changes 1
color now accepts any color representation, not just a Color.
Tooling 2
Its live props are now typed; they already worked at runtime.
The blendFunction prop is now typed.
Fixes and other changes 4
Disabling a Select no longer drops objects another Select still selects.
A pre-loaded texture no longer requires textureSrc or triggers a load.
The composer and its passes now resize when only the pixel ratio changes, following the drawing buffer size.
In auto mode, mainUv effects are kept separate from convolution effects, preventing EffectPass from throwing at render time.