# What changed in @react-three/postprocessing

> 26 changes in @react-three/postprocessing 3 from its official release notes, upgrade guides and advisories: 3 breaking, 16 new APIs and options. Each one cited. Sources checked 2026-10-19. HTML: https://unstale.sh/npm/@react-three/postprocessing/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @react-three/postprocessing 3

### Breaking changes

- Lowers default multisampling from 8 to 4; pass multisampling={8} to restore the old default. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)
- blendFunction now applies instead of being ignored and always set to ADD. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)
- Requires exactly one of textureSrc or texture; passing both or neither is a type error. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)

### New APIs and options

- Adds an opacity prop. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)
- Adds an opacity prop. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)
- Adds an opacity prop. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)
- Exports GodRaysProps. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)
- Adds an RGB halftone effect ported from three.js' HalftoneShader. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)
- Adds a painterly filter effect. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)
- Adds an effect that wraps postprocessing's LensDistortionEffect. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)
- Exports LensFlareProps. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)
- Adds a linocut print effect ported from TresJS post-processing. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)
- Adds an opacity prop. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)
- Adds an opacity prop. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)
- Adds an exclude prop to keep a subtree out of an enabled ancestor's selection. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)
- Adds an opacity prop. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)
- Adds a sharpening effect. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)
- Adds an opacity prop. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)
- Exports SSAOProps. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)

### Behavior and default changes

- color now accepts any color representation, not just a Color. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)

### Tooling

- Its live props are now typed; they already worked at runtime. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)
- The blendFunction prop is now typed. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)

### Fixes and other changes

- Disabling a Select no longer drops objects another Select still selects. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)
- A pre-loaded texture no longer requires textureSrc or triggers a load. (3.2.0) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.2.0)
- The composer and its passes now resize when only the pixel ratio changes, following the drawing buffer size. (3.1.3) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.1.3)
- In auto mode, mainUv effects are kept separate from convolution effects, preventing EffectPass from throwing at render time. (3.1.2) — [release notes](https://github.com/pmndrs/react-postprocessing/releases/tag/v3.1.2)
