
Pale Moon 35.0.0 rappresenta un aggiornamento particolarmente importante per il browser open source, con un lavoro concentrato soprattutto sulla compatibilità con i siti web contemporanei. Il progetto continua infatti a mantenere una propria identità tecnica, ma deve confrontarsi con pagine sempre più dipendenti da API JavaScript, funzionalità CSS e framework progettati principalmente pensando ai browser basati su Chromium.
Uno degli interventi più significativi riguarda proprio l’introduzione e il caricamento predefinito di numerosi compatibility shim e polyfill. Questi componenti permettono a Pale Moon di offrire un ponte verso funzionalità web che molti siti ormai considerano disponibili per impostazione predefinita.
Tra le API interessate figurano Document.elementFromPoint(s) con argomenti non finiti, GetAnimations, image.decode() e diverse funzionalità internazionali di JavaScript come Intl.DisplayNames, Intl.ListFormat, Intl.RelativeTimeFormat e Intl.Segmenter. Sono inoltre coinvolti diversi metodi delle Streams API, tra cui pipeThrough(), pipeTo(), TextDecoderStream, TextEncoderStream e TransformStream.
Il progetto sottolinea che questa soluzione rappresenta soprattutto una scelta pragmatica. Alcuni siti moderni, in particolare quelli costruiti utilizzando framework JavaScript molto pesanti, possono infatti aspettarsi un insieme preciso di API senza prevedere adeguatamente l’assenza di determinate funzionalità. I polyfill consentono quindi di ridurre una parte dei problemi di compatibilità senza richiedere necessariamente una riscrittura dell’architettura del browser.
CSS, JavaScript e compatibilità con i siti moderni
Pale Moon 35.0.0 amplia anche il supporto alle moderne specifiche CSS. Tra le aggiunte più interessanti troviamo la pseudo-classe :has(), il valore revert-layer, CSSStyleSheet.replaceSync() e il supporto agli adoptedStyleSheets.
Si tratta di funzionalità che possono avere un impatto concreto sulla visualizzazione delle pagine e sulle applicazioni Web più sofisticate. L’aggiornamento interviene inoltre sull’implementazione di aspect-ratio, rendendola maggiormente conforme alle specifiche, mentre i pulsanti contenuti nei flex container ora comunicano una dimensione definita, evitando la presenza di elementi con dimensione pari a zero in determinate pagine.
Anche il motore JavaScript e il sistema di gestione della memoria hanno ricevuto diverse correzioni. La raccolta dei rifiuti JavaScript e la DOM cycle collection sono state migliorate per gestire meglio i siti moderni particolarmente pesanti, soprattutto nei casi in cui alcune risorse non venivano rilasciate correttamente.
Contestualmente è stato eliminato il workaround denominato “ghostbuster”, utilizzato in precedenza per gestire alcuni oggetti window persistenti. Le modifiche apportate alla gestione della memoria hanno reso questa soluzione non più necessaria.
Un altro cambiamento riguarda la modalità di compatibilità Firefox, impostata ora alla versione 140 come valore predefinito. Gli utenti possono comunque modificare facilmente questa impostazione globalmente oppure per singoli siti quando necessario.
Pale Moon 35.0.0 aggiorna anche diversi componenti interni, compreso ICU per una migliore gestione dell’internazionalizzazione. Particolare attenzione è stata dedicata al carattere tedesco ß: quando viene convertito in maiuscolo, il browser utilizzerà ora il carattere Unicode ẞ invece della precedente trasformazione automatica in “SS”.
Sul fronte delle piattaforme, il progetto continua a migliorare il supporto LoongArch64, compreso il JIT, e quello Mac/PPC. È stata inoltre ripristinata la possibilità di compilare Pale Moon per architetture MIPS.
Per Linux e FreeBSD arriva una nuova opzione di compilazione relativa al supporto NPAPI. È ora possibile costruire il browser con il supporto ai plugin senza una dipendenza GTK2, caratteristica particolarmente utile sui sistemi che non dispongono dei relativi pacchetti.
Su Linux viene inoltre segnalato un miglioramento delle prestazioni durante la digitazione all’interno di alcune pagine Web complesse. Sono stati corretti anche problemi che potevano provocare blocchi durante chiamate ricorsive di restyling e conseguenti lunghi cicli di reflow.
Pale Moon 35.0.0: aggiornamenti di sicurezza
L’aggiornamento non si limita alla compatibilità Web. Pale Moon 35.0.0 include infatti diverse correzioni di sicurezza e aggiornamenti di componenti interni.
Il visualizzatore JSON integrato è stato aggiornato per migliorare la gestione delle risorse, mentre NSS è stato portato alla versione 3.90.14.0 per UXP, includendo diversi interventi di sicurezza.
Il team di sviluppo ha inoltre esaminato numerose segnalazioni relative alla sicurezza, applicando al codice di Pale Moon le correzioni ritenute pertinenti. Tra le vulnerabilità affrontate figurano CVE-2026-74982, CVE-2026-74969, CVE-2026-74977, CVE-2026-74945, CVE-2026-74964, CVE-2026-74971 e CVE-2026-74943, oltre ad altri problemi che al momento della valutazione non disponevano ancora di un identificativo CVE.
Parallelamente è stato effettuato un lavoro di pulizia del codice. Diverse parti obsolete della piattaforma, legate a target di compilazione antichi o non più supportati, sono state rimosse. Anche alcune implementazioni C++ interne sono state modernizzate, sostituendo le forme ::value e ::type con i più moderni suffissi _v e _t.
È stato infine eliminato il vecchio modulo “network tickler”, un componente ereditato dal passato che poteva effettuare periodicamente il ping delle reti wireless. La rimozione riduce ulteriormente il codice non necessario presente nella piattaforma.
Pale Moon 35.0.0 concentra quindi il proprio sviluppo su un aspetto particolarmente importante per un browser indipendente: riuscire a mantenere una buona compatibilità con il Web attuale senza rinunciare alla propria base tecnologica. L’introduzione dei nuovi polyfill, insieme alle aggiunte CSS, agli interventi sul motore JavaScript, ai miglioramenti per Linux e alle correzioni di sicurezza, costituisce una parte sostanziale del lavoro svolto con questa versione. Pale Moon 35.0.0 è già disponibile per Linux con binari precompilati per un facile utilizzo e avvio nelle principali distribuzioni Linux.