WBK AI
V.I.P
React 19.3 çıktığında depo çoktan yer değiştirmişti. Tarayıcına
Küçük bir URL değişikliği gibi duruyor, ama arkasında daha büyük bir haber var: React artık Meta’ya ait değil.
Meta, React Foundation’ı kurma niyetini 7 Ekim 2025’te açıklamıştı. Vakıf 24 Şubat 2026’da Linux Foundation bünyesinde resmen kuruldu ve React, React Native ile JSX’in sahipliğini devraldı. Sekiz platin kurucu üye var: Amazon, Callstack, Expo, Huawei, Meta, Microsoft, Software Mansion ve Vercel. Yönetici direktör Seth Webster.
Bize en ilginç gelen kısım yönetişim. Yönetim kurulu üye temsilcilerinden oluşuyor; teknik yönetişim ise kuruldan bağımsız ve bunun için geçici bir liderlik konseyi kuruldu. Vakfı yönetenlerle React’in teknik yönünü belirleyenler ayrı masalarda oturuyor. Kâğıt üzerinde en azından. Pratikte nasıl işlediğini önümüzdeki sürümler gösterecek.
26 Eylül 2026 itibarıyla npm’deki güncel sürüm, 9 Eylül’de çıkan React 19.3.0.
İlki
Şimdilik yalnızca DOM destekleniyor, React Native desteği üzerinde çalışılıyor.
İkincisi Fragment Refs.
Bunlara Trusted Types desteğini (React artık bu nesneleri string’e çevirmiyor) ve Server Component içinde
Bir önceki büyük adım 1 Ekim 2025’teki 19.2’ydi:
Altı gün sonra, 7 Ekim 2025’te React Compiler 1.0 geldi. React 17 ve sonrasıyla uyumlu, Expo SDK 54 ve üstünde varsayılan olarak açık. Meta Quest Store’da ilk yüklemeler ve sayfa geçişleri %12’ye kadar iyileşmiş, bazı etkileşimler 2,5 kattan fazla hızlanmış.
Derleyiciyi henüz açmayanlar için de bir şey var. Lint kuralları
3 Aralık 2025’te React ekibi, React Server Components’ta kimlik doğrulaması gerektirmeyen bir uzaktan kod çalıştırma açığı duyurdu: CVE-2025-55182, CVSS puanı 10,0. Açığı Lachlan Davidson 29 Kasım’da bildirdi, Meta 30 Kasım’da doğruladı, düzeltme 1 Aralık’ta hazırdı ve 3 Aralık’ta yayımlandı. Bildirimden yamaya dört gün. Bu hız için ekibin hakkını vermek lazım.
Etkilenen paketler
Arkası da geldi. Aralık 2025 ile Temmuz 2026 arasında yedi CVE daha: altısı hizmet engelleme (DoS), biri kaynak kodu sızması. Bunlardan biri, CVE-2025-67779, önceki bir DoS düzeltmesinin eksik kalmasından doğdu. Her seferinde 19.0, 19.1 ve 19.2 hatlarının üçü de yamalandı.
React Server Components’taki sekiz CVE, bildirim tarihine göre; CVSS puanları ve yamalı sürümlerle. Kaynak: React GitHub güvenlik bildirimleri ve react.dev güvenlik yazıları.
RSC kullanıyorsan bakman gereken sayılar belli:
Kaynak kodu sızması açığının (CVE-2025-55183) notu da akılda kalsın: koda gömülü sırlar açığa çıkabiliyordu,
React Native’de 0.82’den (Ekim 2025) beri yalnızca New Architecture var;
React Native sürüm hattı, Ekim 2025’ten Eylül 2026’ya. Kaynak: reactnative.dev sürüm yazıları ve npm kayıt verisi.
0.87 TypeScript tarafını da sıkılaştırdı: Strict TypeScript API varsayılan oldu, tipler artık kaynaktan üretiliyor. Metro 0.87’ye geçti; source map üretimi 2 kat hızlandı, Metro’nun bellek kullanımı yarıya indi. Minimumlar Node.js 22 ve Kotlin 2.0+ oldu. AGP 9 desteği de ilk kez bu sürümle geldi.
Bizim dikkatimizi çeken satır deneysel Swift Package Manager desteği oldu. 0.87 duyurusuna göre bunun için yalnızca Xcode yetiyor; Ruby, Bundler ya da CocoaPods gerekmiyor. Dondurma ile Subara‘yı Flutter’la yazıyoruz ve Flutter‘da SwiftPM 3.44’ten beri varsayılan. Genelde rakip diye anılan iki ekosistemin Apple tarafında aynı yöne yürüdüğünü görmek hoşumuza gitti.
RSC kullanan bir projen varsa, sekmeyi kapatmadan önce çatının ya da
Kapak fotoğrafı: Ferenc Almasi, Unsplash
github.com/facebook/react yazınca hâlâ doğru yere varıyorsun, ama adres çubuğunda artık başka bir şey yazıyor: github.com/react/react. Haziran’da React, React Native, Metro ve Yoga depoları facebook organizasyonundan react organizasyonuna taşındı. Eski adresler yönleniyor.Küçük bir URL değişikliği gibi duruyor, ama arkasında daha büyük bir haber var: React artık Meta’ya ait değil.
Sahibi artık bir vakıf
Meta, React Foundation’ı kurma niyetini 7 Ekim 2025’te açıklamıştı. Vakıf 24 Şubat 2026’da Linux Foundation bünyesinde resmen kuruldu ve React, React Native ile JSX’in sahipliğini devraldı. Sekiz platin kurucu üye var: Amazon, Callstack, Expo, Huawei, Meta, Microsoft, Software Mansion ve Vercel. Yönetici direktör Seth Webster.
Bize en ilginç gelen kısım yönetişim. Yönetim kurulu üye temsilcilerinden oluşuyor; teknik yönetişim ise kuruldan bağımsız ve bunun için geçici bir liderlik konseyi kuruldu. Vakfı yönetenlerle React’in teknik yönünü belirleyenler ayrı masalarda oturuyor. Kâğıt üzerinde en azından. Pratikte nasıl işlediğini önümüzdeki sürümler gösterecek.
React 19.3’te kararlı olan iki şey
26 Eylül 2026 itibarıyla npm’deki güncel sürüm, 9 Eylül’de çıkan React 19.3.0.
İlki
<ViewTransition>; tarayıcının View Transition API’sini React’e bağlıyor. Bir tuzağı var. Animasyon her güncellemede çalışmıyor, yalnızca Transition olarak işaretlenen güncellemelerde, Suspense içerik açarken ve useDeferredValue güncellemelerinde çalışıyor. Düz bir setState ile “animasyon neden yok?” diye yarım saat kaybetme. Şöyle olmalı:
Kod:
import { ViewTransition, useState, startTransition } from 'react';
export default function Toggle() {
const [show, setShow] = useState(false);
return (
<>
<button onClick={() => startTransition(() => setShow(s => !s))}>
{show ? 'Gizle' : 'Göster'}
</button>
{show && (
<ViewTransition>
<Item />
</ViewTransition>
)}
</>
);
}
Şimdilik yalnızca DOM destekleniyor, React Native desteği üzerinde çalışılıyor.
İkincisi Fragment Refs.
<Fragment ref> sana bir FragmentInstance veriyor; sarmalayıcı bir div eklemeden bir grup çocuğa addEventListener, focus, observeUsing ya da scrollIntoView uygulayabiliyorsun. Sırf ref takacak bir yer olsun diye DOM’a fazladan div eklemiş herkes buna sevinecek.react-dom‘a da yeni bir API geldi: browser(). use(browser()) sunucuda Suspense tetikliyor, istemcide tetiklemiyor. “Bu bileşen yalnızca tarayıcıda render edilsin” demenin artık birinci sınıf bir yolu var:
Kod:
import { use } from 'react';
import { browser } from 'react-dom';
function TimeZone() {
use(browser()); // sunucuda en yakın Suspense fallback'i gösterilir
const tz = new Intl.DateTimeFormat().resolvedOptions().timeZone;
return <p>{tz}</p>;
}
Bunlara Trusted Types desteğini (React artık bu nesneleri string’e çevirmiyor) ve Server Component içinde
<Context>‘i doğrudan render edebilmeyi de ekleyelim; sırf provider olsun diye yazılan bileşenlere gerek kalmıyor. Resmî yazıda 19.3 için kırıcı değişiklik ya da deprecation başlığı yok.Geçen Ekim: 19.2 ve Compiler 1.0
Bir önceki büyük adım 1 Ekim 2025’teki 19.2’ydi:
<Activity>, useEffectEvent, cacheSignal, Chrome DevTools’ta Performance Tracks ve Partial Pre-rendering. Bizce içlerinde en kullanışlısı useEffectEvent, çünkü bağımlılık listesiyle boğuşmuş herkesin bildiği bir derde çare. Efektin “olay” kısmını ayırıyor ve Effect Event’ler bağımlılık listesine girmiyor.Altı gün sonra, 7 Ekim 2025’te React Compiler 1.0 geldi. React 17 ve sonrasıyla uyumlu, Expo SDK 54 ve üstünde varsayılan olarak açık. Meta Quest Store’da ilk yüklemeler ve sayfa geçişleri %12’ye kadar iyileşmiş, bazı etkileşimler 2,5 kattan fazla hızlanmış.
Derleyiciyi henüz açmayanlar için de bir şey var. Lint kuralları
eslint-plugin-react-hooks içine taşındı ve linter derleyiciyi gerektirmiyor, yani set-state-in-effect gibi kurallardan derleyici kapalıyken de faydalanabiliyorsun. 26 Eylül 2026 itibarıyla npm’deki en güncel kararlı sürüm hâlâ 1.0.0; 2026’da yalnızca experimental derlemeler çıktı.RSC’de sekiz CVE’lik bir yıl
3 Aralık 2025’te React ekibi, React Server Components’ta kimlik doğrulaması gerektirmeyen bir uzaktan kod çalıştırma açığı duyurdu: CVE-2025-55182, CVSS puanı 10,0. Açığı Lachlan Davidson 29 Kasım’da bildirdi, Meta 30 Kasım’da doğruladı, düzeltme 1 Aralık’ta hazırdı ve 3 Aralık’ta yayımlandı. Bildirimden yamaya dört gün. Bu hız için ekibin hakkını vermek lazım.
Etkilenen paketler
react-server-dom-webpack, react-server-dom-parcel ve react-server-dom-turbopack. Sunucu kullanmayan, yani RSC desteği olmayan uygulamalar etkilenmedi. Ama next, react-router, waku ve @vitejs/plugin-rsc gibi çatı ve bundler’lar listedeydi.Arkası da geldi. Aralık 2025 ile Temmuz 2026 arasında yedi CVE daha: altısı hizmet engelleme (DoS), biri kaynak kodu sızması. Bunlardan biri, CVE-2025-67779, önceki bir DoS düzeltmesinin eksik kalmasından doğdu. Her seferinde 19.0, 19.1 ve 19.2 hatlarının üçü de yamalandı.
React Server Components’taki sekiz CVE, bildirim tarihine göre; CVSS puanları ve yamalı sürümlerle. Kaynak: React GitHub güvenlik bildirimleri ve react.dev güvenlik yazıları.
RSC kullanıyorsan bakman gereken sayılar belli:
react-server-dom-* paketlerinde kendi hattında en az 19.0.8, 19.1.9 ya da 19.2.8. Bunlar 21 Temmuz 2026’daki son güvenlik yamaları; 19.3.0 bu yamalardan sonra çıktı. Paketler sana next gibi bir çatı üzerinden geliyorsa sürümü o çatının güvenlik notundan kontrol et.Kaynak kodu sızması açığının (CVE-2025-55183) notu da akılda kalsın: koda gömülü sırlar açığa çıkabiliyordu,
process.env ise etkilenmiyordu. Sırları koda gömmemek için bir sebep daha. Sanki eksikti.React Native’de eski mimari tarih oldu
React Native’de 0.82’den (Ekim 2025) beri yalnızca New Architecture var;
newArchEnabled=false yazsan da yok sayılıyor. 0.84’te Hermes V1 iOS ve Android’de varsayılan oldu, eski mimari kodu iOS derlemelerinden çıkarıldı. Sürümler iki ayda bir geliyor. 26 Eylül 2026 itibarıyla güncel sürüm 26 Ağustos’ta çıkan 0.87.1; 0.88 ise RC aşamasında.
React Native sürüm hattı, Ekim 2025’ten Eylül 2026’ya. Kaynak: reactnative.dev sürüm yazıları ve npm kayıt verisi.
0.87 TypeScript tarafını da sıkılaştırdı: Strict TypeScript API varsayılan oldu, tipler artık kaynaktan üretiliyor. Metro 0.87’ye geçti; source map üretimi 2 kat hızlandı, Metro’nun bellek kullanımı yarıya indi. Minimumlar Node.js 22 ve Kotlin 2.0+ oldu. AGP 9 desteği de ilk kez bu sürümle geldi.
Bizim dikkatimizi çeken satır deneysel Swift Package Manager desteği oldu. 0.87 duyurusuna göre bunun için yalnızca Xcode yetiyor; Ruby, Bundler ya da CocoaPods gerekmiyor. Dondurma ile Subara‘yı Flutter’la yazıyoruz ve Flutter‘da SwiftPM 3.44’ten beri varsayılan. Genelde rakip diye anılan iki ekosistemin Apple tarafında aynı yöne yürüdüğünü görmek hoşumuza gitti.
RSC kullanan bir projen varsa, sekmeyi kapatmadan önce çatının ya da
react-server-dom-* paketinin sürümüne bir bak. Gerisi bekleyebilir.Kaynaklar
- React 19.3 (react.dev)
- React 19.2 (react.dev)
- React Compiler v1.0 (react.dev)
- Introducing the React Foundation (react.dev)
- The React Foundation (react.dev)
- Critical Security Vulnerability in React Server Components (react.dev)
- Denial of Service and Source Code Exposure in React Server Components (react.dev)
- React güvenlik bildirimleri (GitHub)
- React Native 0.82 (reactnative.dev)
- React Native 0.83 (reactnative.dev)
- React Native 0.84 (reactnative.dev)
- React Native 0.85 (reactnative.dev)
- React Native 0.86 (reactnative.dev)
- React Native 0.87 (reactnative.dev)
- react paketi (npm kayıt verisi)
- react-native paketi (npm kayıt verisi)
- babel-plugin-react-compiler paketi (npm kayıt verisi)
Kapak fotoğrafı: Ferenc Almasi, Unsplash