From aac545eb076b1f89dfb10113c3e33c2fcd8f9874 Mon Sep 17 00:00:00 2001 From: Tomek Zawadzki Date: Wed, 12 Aug 2026 11:06:31 +0200 Subject: [PATCH] Bump React Compiler to stable 1.0.0 babel-plugin-react-compiler and react-compiler-runtime move from the 19.1.0-rc.3 release candidate to stable 1.0.0. The stable compiler handles existing manual memoization it previously refused to preserve: components compiled goes from 1,895 to 1,958 and the skip rate drops from 16.4% to 7.4%, eliminating all 214 "existing memoization could not be preserved" bailouts (which covered hot paths like Search Explore, MessageItem, LeftNav, and Post/Embed). eslint-plugin-react-compiler stays on 19.1.0-rc.2 - it was folded into eslint-plugin-react-hooks upstream and has no stable release to bump to. Co-Authored-By: Claude Fable 5 --- package.json | 4 ++-- pnpm-lock.yaml | 21 +++++++-------------- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index a4638741c2..b5ab9ae0a5 100644 --- a/package.json +++ b/package.json @@ -217,7 +217,7 @@ "psl": "1.9.0", "radix-ui": "^1.4.3", "react": "19.2.3", - "react-compiler-runtime": "19.1.0-rc.3", + "react-compiler-runtime": "1.0.0", "react-dom": "19.2.3", "react-hotkeys-hook": "5.2.4", "react-image-crop": "^11.0.7", @@ -282,7 +282,7 @@ "@typescript/native": "npm:typescript@^7.0.2", "babel-jest": "^29.7.0", "babel-plugin-module-resolver": "^5.0.2", - "babel-plugin-react-compiler": "19.1.0-rc.3", + "babel-plugin-react-compiler": "1.0.0", "babel-preset-expo": "~57.0.4", "eslint-plugin-bsky-internal": "link:eslint", "eslint-plugin-react-compiler": "19.1.0-rc.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ed390693a6..66be61658d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -603,8 +603,8 @@ importers: specifier: 19.2.3 version: 19.2.3 react-compiler-runtime: - specifier: 19.1.0-rc.3 - version: 19.1.0-rc.3(react@19.2.3) + specifier: 1.0.0 + version: 1.0.0(react@19.2.3) react-dom: specifier: 19.2.3 version: 19.2.3(react@19.2.3) @@ -793,8 +793,8 @@ importers: specifier: ^5.0.2 version: 5.0.3 babel-plugin-react-compiler: - specifier: 19.1.0-rc.3 - version: 19.1.0-rc.3 + specifier: 1.0.0 + version: 1.0.0 babel-preset-expo: specifier: ~57.0.4 version: 57.0.6(@babel/core@7.29.0)(@babel/runtime@7.29.2)(expo@57.0.8)(react-refresh@0.14.2) @@ -4357,9 +4357,6 @@ packages: babel-plugin-react-compiler@1.0.0: resolution: {integrity: sha512-Ixm8tFfoKKIPYdCCKYTsqv+Fd4IJ0DQqMyEimo+pxUOMUR9cVPlwTrFt9Avu+3cb6Zp3mAzl+t1MrG2fxxKsxw==} - babel-plugin-react-compiler@19.1.0-rc.3: - resolution: {integrity: sha512-mjRn69WuTz4adL0bXGx8Rsyk1086zFJeKmes6aK0xPuK3aaXmDJdLHqwKKMrpm6KAI1MCoUK72d2VeqQbu8YIA==} - babel-plugin-react-native-web@0.21.2: resolution: {integrity: sha512-SPD0J6qjJn8231i0HZhlAGH6NORe+QvRSQM2mwQEzJ2Fb3E4ruWTiiicPlHjmeWShDXLcvoorOCXjeR7k/lyWA==} @@ -7928,8 +7925,8 @@ packages: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true - react-compiler-runtime@19.1.0-rc.3: - resolution: {integrity: sha512-Cssogys2XZu6SqxRdX2xd8cQAf57BBvFbLEBlIa77161lninbKUn/EqbecCe7W3eqDQfg3rIoOwzExzgCh7h/g==} + react-compiler-runtime@1.0.0: + resolution: {integrity: sha512-rRfjYv66HlG8896yPUDONgKzG5BxZD1nV9U6rkm+7VCuvQc903C4MjcoZR4zPw53IKSOX9wMQVpA1IAbRtzQ7w==} peerDependencies: react: ^17.0.0 || ^18.0.0 || ^19.0.0 || ^0.0.0-experimental @@ -13518,10 +13515,6 @@ snapshots: dependencies: '@babel/types': 7.29.0 - babel-plugin-react-compiler@19.1.0-rc.3: - dependencies: - '@babel/types': 7.29.0 - babel-plugin-react-native-web@0.21.2: {} babel-plugin-syntax-hermes-parser@0.36.0: @@ -17594,7 +17587,7 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-compiler-runtime@19.1.0-rc.3(react@19.2.3): + react-compiler-runtime@1.0.0(react@19.2.3): dependencies: react: 19.2.3