v10.0.0-alpha.1
R3F v10 has been a long time coming. We have talked over plans for years but late last year @DennisSmolek took the initiative do it all himself. We now have an alpha release, along with an alpha release of Drei 11. You can try it out today.
npm install @react-three/fiber@alpha
We were so excited to get this out we forgot to make a release for alpha.0 and alpha.1 is already upon us. But let's quickly get you caught up on what you can expect to be new.
- R3F now supports the
WebGLRendererandWebGPURenderer. This meansstate.glis nowstate.renderer. - There is a new scheduler, allowing for
useFrameto have advanced scheduling and also allows for it to be used outside of<Canvas />. Read more here: Frame Loop Overview. - WebGPU and TSL is first-class, with new built-ins just for working with TSL:
useUniforms,useNodes,useLocalNodesandusePostProcessing. Read more here: WebGPU Hook Overview.
And for a more in-depth introduction check out the migration guide.
And now comes alpha.1 with bug fixes, documentation updates, and several important feature unlocks.
- Camera frustum access for in-frame spatial queries.
- Visibility lifecycle events:
Visible,Framed, andOccluded. - Cameras are now part of the scene graph. Children of a camera will render correctly, enabling camera-attached objects by default.
- Renderer-independent render targets, similar to
useFBO, without needing to branch on the active renderer.
- The scheduler no longer depends on R3F and can run standalone.
- Scheduler context can now be shared outside the R3F tree, allowing external UIs or systems to participate in the frame loop while correctly waiting on the root set.
- New v10 features documentation.
- Updated developer documentation.
- Migration guide expanded, including details on taking over the renderer.
As always, feedback welcome. Consider all features experimental and may be changed, removed or expanded at any time. Who know,s you could be the reason 👀. Happy building!
- Start of the v10 Branch by @DennisSmolek in https://github.com/pmndrs/react-three-fiber/pull/3620
- Fix: Only Run Preinstall when working on actual repo by @DennisSmolek in https://github.com/pmndrs/react-three-fiber/pull/3624
- Feat-null-props by @DennisSmolek in https://github.com/pmndrs/react-three-fiber/pull/3628
- V10-fix-canvas-override by @DennisSmolek in https://github.com/pmndrs/react-three-fiber/pull/3629
- Feat-fire-event-3537 by @DennisSmolek in https://github.com/pmndrs/react-three-fiber/pull/3630
- Fix-portal-container-updates by @DennisSmolek in https://github.com/pmndrs/react-three-fiber/pull/3631
- Feat-useLoader-preload by @DennisSmolek in https://github.com/pmndrs/react-three-fiber/pull/3635
- feat: canvasDebounce by @DennisSmolek in https://github.com/pmndrs/react-three-fiber/pull/3636
- Docs-useframe by @DennisSmolek in https://github.com/pmndrs/react-three-fiber/pull/3640
- feat: react 19.2 and test clean by @DennisSmolek in https://github.com/pmndrs/react-three-fiber/pull/3641
- Chore-update-yarn by @DennisSmolek in https://github.com/pmndrs/react-three-fiber/pull/3643
- Fix-type-exports by @DennisSmolek in https://github.com/pmndrs/react-three-fiber/pull/3644
- Chore/migrate to pnpm by @DennisSmolek in https://github.com/pmndrs/react-three-fiber/pull/3645
- Fix-portal-bug by @DennisSmolek in https://github.com/pmndrs/react-three-fiber/pull/3649
- Docs-cleanup-circular by @DennisSmolek in https://github.com/pmndrs/react-three-fiber/pull/3655
- Docs-migration-guide by @DennisSmolek in https://github.com/pmndrs/react-three-fiber/pull/3658
- V10-shared-context by @DennisSmolek in https://github.com/pmndrs/react-three-fiber/pull/3663
- V10-feat-Occlusion by @DennisSmolek in https://github.com/pmndrs/react-three-fiber/pull/3664
Full Changelog: https://github.com/pmndrs/react-three-fiber/compare/v9.4.2...v10.0.0-alpha.1
v9.5.0
After a bit of research and development, R3F is now compatible with React 19.2, including the Activity feature!
Why did this take some effort, you might wonder? When React bumped to version 19.2.x, they also bumped the internal reconciler up a version which was not backwards compatible with 19.1.x. This put us in an awkward position of either making a breaking change in the middle of R3F v9, bump to another major just because of an internal detail from React or get creative. We chose to get creative and R3F is compatible with all versions of React between 19.0 and 19.2. The downside is we had to bundle the reconciler with R3F, but react-dom already does this so for now it is the best solution available.
Forcing breaking changes on libraries is likely not what the React teams intended so we will be working with them to try to avoid this in the future.
Happy coding.
- feat: support React 19.2 by @CodyJasonBennett in https://github.com/pmndrs/react-three-fiber/pull/3606
Full Changelog: https://github.com/pmndrs/react-three-fiber/compare/v9.4.2...v9.5.0
v9.4.2
- docs: update installation guide with iOS simulator note by @rudin in https://github.com/pmndrs/react-three-fiber/pull/3572
- fix: Expo SDK 54 compatibility through workaround by @alextoudic in https://github.com/pmndrs/react-three-fiber/pull/3599
- @rudin made their first contribution in https://github.com/pmndrs/react-three-fiber/pull/3572
- @alextoudic made their first contribution in https://github.com/pmndrs/react-three-fiber/pull/3599
Full Changelog: https://github.com/pmndrs/react-three-fiber/compare/v9.4.1...v9.4.2
v9.4.1
- fix: pass DevTools config through createReconciler to fix React DevTools by @AlaricBaraou in https://github.com/pmndrs/react-three-fiber/pull/3594
Full Changelog: https://github.com/pmndrs/react-three-fiber/compare/v9.4.0...v9.4.1
v9.4.0
- fix: improve resolution of dashed prop names by @tbvjaos510 in https://github.com/pmndrs/react-three-fiber/pull/3576
- feat: add explicit error to applyProps by @krispya in 7c6680f1
- @borghiste made their first contribution in https://github.com/pmndrs/react-three-fiber/pull/3569
- @tbvjaos510 made their first contribution in https://github.com/pmndrs/react-three-fiber/pull/3576
- @jacksydenham made their first contribution in https://github.com/pmndrs/react-three-fiber/pull/3586
Full Changelog: https://github.com/pmndrs/react-three-fiber/compare/v9.3.0...v9.4.0
v9.3.0
With these release we have two big fixes.
flushSyncnow works properly. To prove it we added an example that allows you to React props and then take a screenshot of the R3F canvas with the latest state. This is a pretty advanced use case, but one people might be interested to explore for exporting videos or images using R3F.- React Native support has been fixed for 0.79 and newer when combined with the same update to Drei: https://github.com/pmndrs/drei/pull/2494. A big thanks to @thejustinwalsh for helping us with this one.
- chore: export flushSync by @krispya in https://github.com/pmndrs/react-three-fiber/pull/3551
- Update react-native deep imports for 0.79 compatibility by @huntie in https://github.com/pmndrs/react-three-fiber/pull/3498
- fix: update flushSync for new reconciler by @krispya in https://github.com/pmndrs/react-three-fiber/pull/3554
- feat: add flushSync example by @krispya in https://github.com/pmndrs/react-three-fiber/pull/3560
- @s-pace made their first contribution in https://github.com/pmndrs/react-three-fiber/pull/3521
- @huntie made their first contribution in https://github.com/pmndrs/react-three-fiber/pull/3498
Full Changelog: https://github.com/pmndrs/react-three-fiber/compare/v9.1.4...v9.3.0
v9.1.4
- fix(types): Accept readonly arrays for vector props by @RodrigoHamuy in https://github.com/pmndrs/react-three-fiber/pull/3527
- @RodrigoHamuy made their first contribution in https://github.com/pmndrs/react-three-fiber/pull/3527
Full Changelog: https://github.com/pmndrs/react-three-fiber/compare/v9.1.3...v9.1.4
v9.1.3
- fix(native) fix crash on rerendering GLView with new arch by @NikitaDudin in https://github.com/pmndrs/react-three-fiber/pull/3539
- @s-rigaud made their first contribution in https://github.com/pmndrs/react-three-fiber/pull/3518
- @NikitaDudin made their first contribution in https://github.com/pmndrs/react-three-fiber/pull/3539
Full Changelog: https://github.com/pmndrs/react-three-fiber/compare/v9.1.2...v9.1.3
v9.1.2
- fix: reference dev-only act with computed key for Webpack by @CodyJasonBennett in https://github.com/pmndrs/react-three-fiber/pull/3513
Full Changelog: https://github.com/pmndrs/react-three-fiber/compare/v9.1.1...v9.1.2
v9.1.1
Most importantly, this fixes rsbuild with vReact 19.1.0 and later.
- chore: add rsbuild to CI test by @krispya in https://github.com/pmndrs/react-three-fiber/pull/3510
- Fix builds failing from React.act being removed from the production bundle by @itsdouges in https://github.com/pmndrs/react-three-fiber/pull/3508
Full Changelog: https://github.com/pmndrs/react-three-fiber/compare/v9.1.0...v9.1.1