software•

Electron v45.0.0 Yayınlandı: Derinlemesine Mimari İnceleme

Chromium 156, Node v24.22.0, korumalı alan (sandbox) optimizasyonları ve kritik geçiş breaking change'leri ile Electron v45.0.0'ı keşfedin.

OP
OPA Release DeskWIRE
•7 min read
Electron v45.0.0 Yayınlandı: Derinlemesine Mimari İnceleme

⚠️ Breaking Changes & Migration Caveats

32 bit yapılar kaldırıldı (Windows ia32, Linux armv7l). Korumalı alanlı ön yükleme betiklerinden events, timers, url modülleri ve Buffer genelleri

Yönetici Özeti ve Mimari Önem

Electron v45.0.0, çapraz platform masaüstü uygulama geliştirmede devasa bir temel sıçramayı işaret ediyor ve çerçeveyi son teknoloji web ve çalışma zamanı yığınlarıyla hizalıyor. Özünde bu sürüm; Chromium 156.0.8078.48, Node.js v24.22.0 ve V8 15.6'yı sunarak en son web platformu API'lerini, güvenlik yamalarını ve performans optimizasyonlarını doğrudan masaüstü çalışma zamanlarına enjekte ediyor. Bu yukarı akış (upstream) motorlarıyla senkronize olarak Electron geliştiricileri; platformu tanımlayan derin yerel entegrasyon yeteneklerinden ödün vermeden modern JavaScript özelliklerine, geliştirilmiş CSS kapsülleme modellerine ve sağlam ağ primitiflerine anında erişim kazanır.

Mimari açıdan bakıldığında sürüm 45.0.0, süreç topolojilerini, güvenlik çevrelerini ve platform sınırlarını yeniden değerlendiriyor. En dikkat çekeni, Electron sürdürücülerinin resmi olarak 32 bit yapıları (Windows ia32 ve Linux armv7l) kullanımdan kaldırıp kaldırmış olması ve ekosistemi tamamen 64 bit (x64 ve arm64) mimarilere taşımasıdır. Bu stratejik değişim, bakım yükünü azaltır, modern CPU hatları için bellek düzenlerini optimize eder ve kurumsal masaüstü uygulamalarının yalnızca güvenli, yüksek performanslı temeller üzerine kurulmasını sağlar. Dahası, korumalı alanlı (sandboxed) ön yükleme (preload) betiklerindeki kapsamlı yeniden düzenleme, başlatma gecikmesini ve bellek ayak izini önemli ölçüde azaltarak performans ve güvenliğin eş zamanlı olarak ölçeklenebileceğini kanıtlıyor.

Temel İyileştirmeler ve Geliştirici Ergonomisi

Geliştirici ergonomisi, v45.0.0'da hedeflenen API genişletmeleri ve yerel UI iyileştirmeleri sayesinde büyük bir ivme kazanıyor. macOS'te geliştiriciler artık doğrudan menü etiketlerinin yanında yerel sayı veya özel metin rozetleri oluşturmak için MenuItem üzerindeki badge özelliğinden (macOS 14+ üzerinde desteklenir) yararlanabilirler. Ek olarak, yerel entegrasyon app.configureWebAuthn() aracılığıyla genişleyerek macOS üzerinde kesintisiz iCloud Keychain parola anahtarı (passkey) desteği sağlar. Etkinleştirildiğinde, navigator.credentials.create() ve .get() gibi standart kimlik bilgisi API'leri, ASAuthorizationController aracılığıyla Apple'ın yerel parola anahtarı yetkilendirme kullanıcı arayüzünü anında tetikleyerek web uygulamaları ile platform yerel kimlik iş akışları arasındaki boşluğu doldurur.

Performans gözlemlenebilirliği ve hata ayıklama da yeni kilometre taşlarına ulaşıyor. ELECTRON_DEBUG_DRAGGABLE_REGIONS ortam değişkeninin sunulması, geliştiricilerin paketlenmemiş uygulamalar içindeki sürüklenebilir pencere bölgelerini görselleştirmesine ve günlüğe kaydetmesine olanak tanıyarak özel pencere başlık çubuğu geliştirme ile ilişkili geleneksel zorlukları doğrudan hafifletir. Arka uçta bellek profilleme, contentTracing içine bir Perfetto yığın profilleme veri kaynağı entegre edilerek modern bir paradigma geçişi yapar. Ana süreçten yalıtılmış kare (frame) yazdırma için webFrameMain.printToPDF() ve Prompt API entegrasyonu için UtilityProcess içindeki deneysel localAIHandler modülü gibi yeni eklemelerle birlikte Electron v45.0.0, mühendislik ekiplerine sofistike, yapay zekaya hazır ve derinlemesine gözlemlenebilir masaüstü uygulamaları oluşturma yeteneği kazandırıyor.

Mimari Karşılaştırma Matrisi

Alt Sistem / Metrik Önceki Temel Çizgi (Eski) Electron v45.0.0 Mimari Etki
Temel Chromium Chromium 152–154 Dönemi Chromium 156.0.8078.48 Modern web API'lerine, CSS özelliklerine ve kritik güvenlik yamalarına erişim.
Çalışma Zamanı Motoru (Node) Node v22.x / erken v24 Node.js v24.22.0 Gelişmiş modül yükleme, akış (stream) performansı ve V8 15.6 yetenekleri.
Korumalı Alan Başlatma Gecikmesi Değerlendirilen varsayılan JS paketleri + genel modüller Temiz ön yüklemelerden çıkarılmış ağır geneller/modüller Önemli ölçüde daha hızlı oluşturucu (renderer) ve ön yükleme betiği başlatma.
Desteklenen Platformlar 32 bit ve 64 bit mimariler Yalnızca 64 bit (x64, arm64) Eski yapı yükünü ortadan kaldırır; modern donanım ortamlarını zorunlu kılar.
Depolama ve Güvenlik API'leri Senkron safeStorage (OSCrypt) Asenkron geçiş yolu Uygulamaları yakında kaldırılacak olan yerel kriptografik arka uçlara hazırlar.

Kritik Değişiklikler ve Geçiş Uyarıları

Electron v45.0.0, geçiş sırasında dikkatli bir denetim gerektiren birkaç kritik breaking change (kritik değişiklik) sunar. En dikkat çekeni, korumalı alanlı oluşturucu başlatmasının, korumalı alanlı ön yükleme betiklerinden events, timers ve url modüllerinin yanı sıra Buffer, setImmediate ve clearImmediate genel nesnelerinin kaldırılmasıyla optimize edilmiş olmasıdır. Korumalı alanlı ön yüklemelerde bu genellere güvenen uygulamaların açıkça polifil (polyfill) paketlemesi gerekir. Ek olarak, ASAR arşivi içindeki dosya sistemi modülü davranışı değişti: fs.open ve ilişkili yöntemler artık geçici dosya kopyaları oluşturmadan doğrudan arşivden okuyan tanımlayıcılar (descriptor) döndürür. Ham bir dosya tanımlayıcısı bekleyen kod (yerel eklentiler veya child_process stdio gibi) EBADF ile başarısız olur ve ASAR dosyalarına yazma işlemleri artık EACCES hatası fırlatır.

Güvenlik ve izin sınırları da sıkılaştırıldı. Ekran, pencere ve sekme yakalama istekleri artık media yerine display-capture olarak setPermissionRequestHandler'a yönlendirilir. İzin işleyicileri açıkça media'ya izin veren geliştiricilerin, ekran paylaşımı gerilemelerini (regression) önlemek için mantıklarını display-capture'ı içerecek şekilde güncellemesi gerekir. Dahası, senkron safeStorage yöntemleri, Electron 46'da tamamen kaldırılmadan önce resmi olarak kullanım dışı bırakılmıştır ve uygulamaların asenkron alternatiflere geçiş yapmasını gerektirir. Son olarak, pencere oluşturma güvenliğinin sertleştirilmesi, eşleşmeyen korumalı alan durumlarına sahip window.open() alt öğelerinin, setWindowOpenHandler aracılığıyla açıkça geçersiz kılınmadığı sürece açıcı (opener) tutamaçları olmadan yalıtılmış süreçlerde yürütülmesini zorunlu kılar.

Adım Adım Yükseltme Kılavuzu

Electron v45.0.0'a yükseltme, değiştirilen API'leri ve mimari kaldırmaları hesaba katmak için yapılandırılmış bağımlılık güncellemeleri ve kod tabanı yeniden düzenlemesi gerektirir.

  1. Bağımlılıkları ve Node/Chromium Hedeflerini Güncelleyin package.json dosyanızı Electron v45.0.0'ı hedefleyecek şekilde değiştirin ve 32 bit yapılar artık yayınlanmadığından, derleme hattınızın yalnızca 64 bit mimarileri hedeflediğini doğrulayın:

    {
      "devDependencies": {
        "electron": "^45.0.0"
      }
    }
    
  2. Eksik Geneller İçin Korumalı Alanlı Ön Yükleme Betiklerini Denetleyin Korumalı alanlı ön yükleme betikleriniz Buffer veya timers gibi Node.js genellerine bağımlıysa, hafif polifiller ekleyin veya yürütme mantığını değiştirin:

    // preload.js (Korumalı Alanlı)
    // Polifil eklenmediği sürece Buffer veya require('timers') için doğrudan referansları kaldırın
    const { contextBridge } = require('electron');
    // Açığa çıkan API'ler için güvenli context bridging kullanın
    contextBridge.exposeInMainWorld('myAPI', {
      secureMethod: () => { /* uygulama */ }
    });
    
  3. Senkron SafeStorage'ı Asenkron Eşdeğerlerine Taşıyın Electron 46'ya hazırlanmak için bloklayıcı kriptografik çağrıları asenkron karşılıklarıyla değiştirin:

    // Önce: const decrypted = safeStorage.decryptString(encrypted);
    // Sonra:
    async function getDecryptedData(encryptedBuffer) {
      const decrypted = await safeStorage.decryptStringAsync(encryptedBuffer);
      return decrypted;
    }
    
#Electron#v45.0.0#software#Release#Changelog
E-E-A-T VerifiedRelease Intelligence & Editorial Methodology

OPA Release analyzes upstream repository commits, official changelogs, and runtime telemetry assisted by automated synthesis pipelines and verified under our Editorial Standards. Review our Affiliate Disclosure and Software Disclaimer before deploying changes to production environments.

OPA NETWORK EXPLORER

Deep Dive Across the Ecosystem