Pale Moon

Pale Moon 34.3.0

Enkel Leden kunnen Downloaden, maak je gratis Lid.

 
Nieuwe functies:
  • PowerPreference is toegevoegd aan de WebGL-context van het canvas voor webcompatibiliteit.
  • Ondersteuning voor de lch-kleurruimte is toegevoegd aan CSS.
  • Een basisimplementatie voor CSS-stylesheetconstructors is toegevoegd.
  • Een basisimplementatie voor CSS-beeldverhouding is toegevoegd.
  • Ondersteuning toegevoegd voor de CSS-functies min(), max() en clamp().
  • Ondersteuning toegevoegd voor CSS-eigenschappen zoals `logical border radius`.
  • Ondersteuning voor bereiken in CSS-mediaqueries is toegevoegd.
  • Ondersteuning voor CSS-schaduwonderdelen toegevoegd.
  • Ondersteuning toegevoegd voor de afwijkende CSS-waarden infinity, -infinity en NaN.
  • Volledige ondersteuning voor LoongArch64 Baseline/Ion/WASM JIT-compilers is geïmplementeerd.
  • AV1-decodering met Dav1d is toegevoegd voor betere AV1-videoweergave op 64-bits systemen. Zie de implementatie-opmerkingen.
  • Opmerking: AV1 is nu standaard ingeschakeld op configuraties die Dav1d ondersteunen.
  • ES2024 Arraybuffer-overdrachts-API's toegevoegd (resize, transfer, transferToFixedLength, detached, maxByteLength en resizable).
  • Ondersteuning toegevoegd voor schaalbare SharedArrayBuffers en DataViews.
  • De ingebouwde groeperingsfuncties van ES2024 (map .groupBy) zijn toegevoegd.
  • ES2024 resolver builtins (.withResolvers()) toegevoegd.
  • Er zijn ES2024-functies voor het controleren van de opmaak van strings toegevoegd (.isWellFormed() en .toWellFormed()).
  • Er is ondersteuning toegevoegd voor symbolen als zwakke verzamelingssleutels.
  • Ondersteuning voor Atomics.waitAsync toegevoegd.
  • Ondersteuning voor FinalizationRegistry (onderdeel van de WeakRef-specificatie) toegevoegd.
Wijzigingen/correcties:
  • We hebben ons build-systeem overgeschakeld naar Python 3. Zie de implementatie-opmerkingen.
  • Linux: afhankelijkheid van dbus-glib verwijderd.
  • Linux: EGL is toegevoegd als voorkeursprovider voor OpenGL met GLX als terugvaloptie; GLX blijft de geconfigureerde standaard, aangezien er nog steeds enkele onopgeloste problemen met EGL zijn.
  • De JavaScript-prestaties zijn verbeterd door diverse verbeteringen van Mozilla over te nemen.
  • Diverse applicatiecrashes zijn verholpen.
  • De compatibiliteit met gebouwen voor Loongson-architecturen is verder verbeterd.
  • Verdere verbetering in hardwareversnelde decodering van WMF-video's.
  • Problemen met de ARM-assembler in de Goanna-backend zijn opgelost.
  • Verbeterde parallelle JS-parseertaken.
  • Verbeterde CSS-afhandeling van calc() voor webcompatibiliteit, waardoor het op veel meer plaatsen kan worden gebruikt (bijv. color() en z-index).
  • Omwille van compatibiliteit en prestaties raden we nog steeds ten zeerste aan om waar mogelijk CSS-variabelen te gebruiken voor berekeningen.
  • Diverse kleinere prestatieverbeteringen zijn overgenomen van het Dactyloidae-project.
  • De berekeningen voor de breedte van CSS-randen zijn afgestemd op de gangbare normen voor webcompatibiliteit. Houd er rekening mee dat dit gevolgen kan hebben voor sommige thema's die gebruikmaken van fractionele afronding van randen (in plaats van afkapping).
  • De CloudFlare-workaround die in versie 34.2.0 was geïntroduceerd, is verwijderd, omdat deze met de algemene verbeteringen in de afhandeling van afbeeldingsgroottes niet langer nodig zou moeten zijn. De voorkeursinstelling heeft geen functie meer.
  • Leveranciers van stuurprogramma's die op de whitelist staan voor VMWare, VirtualBox, VirtIO en Parallels, maken hardwareversnelling in VM-omgevingen zoveel mogelijk mogelijk.
  • De implementatie van WeakRef-ondersteuning is aangepast zodat deze in de volledige versie altijd is ingeschakeld.
  • Enkele compilatieproblemen op NetBSD zijn opgelost.
  • Mac: Een hardnekkige crash als gevolg van problemen met lettertypeverwerking in OS X 10.7 tot en met 10.11 is verholpen.
  • Mac: Compatibiliteitsproblemen met 32-bits macOS en Mac op PowerPC-hardware zijn opgelost.
  • Een crash in de ontwikkelaarstools op Big Endian-machines is verholpen.
  • Er is een probleem opgelost dat weergavefouten veroorzaakte bij extreem grote border-radius-waarden (bijvoorbeeld in Tailwind CSS).
Beveiligingsupdates:
  • Een probleem met stackcorruptie in nsLocaleService dat tot crashes kon leiden, is verholpen.
  • Enkele upstream-fixes voor ANGLE zijn doorgevoerd.
  • NSS is bijgewerkt naar versie 3.90.11 (UXP), waarmee een aantal beveiligingspatches van upstream-bronnen zijn overgenomen.
  • Er werd opnieuw een grote beveiligingsaudit uitgevoerd, waarbij 190 gemelde beveiligingsgevoelige bugs werden onderzocht. Veel beveiligingsproblemen werden aangepakt, waaronder potentiële crashscenario's en problemen met de correctheid van de code.
  • Samenvattend: 18 potentiële kwetsbaarheden werden gevonden en verholpen, voor nog eens 18 problemen werden DiD-codeaanpassingen doorgevoerd en 4 problemen waren al door ons opgelost voordat ze werden gemeld. Van de gemelde beveiligingsfouten waren er 150 niet van toepassing op onze code (waarbij een groot deel wederom betrekking had op e10s/multi-process browserarchitecturen).
  • Een bug is verholpen waardoor cursieve talen (waarin meerdere tekens gecombineerd worden) niet correct werden weergegeven (bijvoorbeeld Arabisch).
  • We hebben de afhandeling van onze cookie magic prefix bijgewerkt door de magic prefixes __Http- en __Host-Http- toe te voegen en onze implementatie af te stemmen op RFC 6265bis.
  • Onze Brotli-bibliotheek is bijgewerkt naar versie 1.2.0+ (1.2.0 met extra bugfixes).
  • NSS is bijgewerkt naar 3.90.10.0 (UXP). Ter verduidelijking is de versie nu voorzien van het label (UXP) om deze fork (die extra beveiligingsmaatregelen bevat) te onderscheiden van de 3.90-tak van NSS die door Mozilla wordt beheerd.
  • Er is een uitgebreide audit van de beveiliging uitgevoerd. Veel beveiligingsproblemen zijn aangepakt, waaronder potentiële crashscenario's en problemen met de correctheid van de code.
  • Samenvattend: 50 potentiële kwetsbaarheden werden gevonden en verholpen, voor 20 problemen werden DiD-codeaanpassingen doorgevoerd en 4 problemen waren al door ons verholpen voordat ze werden gemeld.
  • Van de gemelde kwetsbaarheden waren er 270 niet van toepassing op onze code (waarvan de overgrote meerderheid betrekking had op e10s/multi-process browserarchitectuur) en 6 kwetsbaarheden met een lage impact werden gemarkeerd voor nader onderzoek op een later tijdstip.
Nieuwe functies

  • ES2018 Proxy ownKeys duplicate-key invariant geïmplementeerd.
  • De Error.cause-eigenschap is geïmplementeerd in ES2022.
  • Ondersteuning voor de kleurruimten oklab en oklch is toegevoegd aan CSS.
  • ES2024 object.GroupBy geïmplementeerd.
  • De rest van het ES2023 Change Array by Copy-voorstel is geïmplementeerd (toSpliced(), with() en TypedArray-versies van toReversed(), toSorted() en with()).
  • AudioNode-constructors geïmplementeerd.
  • Ondersteuning voor geneste CSS-grammatica is geïmplementeerd.
  • De globale variabele window.MathMLElement is geïmplementeerd.
Wijzigingen/correcties

  • Een crash gerelateerd aan het gebruik van WeakRef is verholpen.
  • Opgeloste crashes door stackuitputting als gevolg van await op het hoogste niveau in modules.
  • We hebben onze expat-parserbibliotheek bijgewerkt naar versie 2.7.4, waarmee diverse problemen zijn opgelost.
  • De functie url.CanParse() is bijgewerkt om aangepaste schema's toe te staan.
  • Het document.currentScript is bijgewerkt om overeen te komen met de huidige specificatie.
  • Een crash veroorzaakt door oneindige recursie is verholpen.
  • Een crash op macOS, veroorzaakt door WebGL-attribuutarrays, is verholpen.
  • Een crash gerelateerd aan pointer @media queries in CSS is verholpen.
  • Een crash gerelateerd aan de spellingscontrole bij het verwerken van invoervelden in Shadow DOM is verholpen.
  • Toekomstbestendige verwerking van witruimte in ParseDate, rekening houdend met het gebruik van witruimte in Unicode-variabelen.
  • Irrelevante pluginvoorkeuren zijn verwijderd wanneer pluginondersteuning niet in de browser is ingebouwd (niet-standaard builds/forks).
  • Verbeterde ondersteuning voor de minimalloc-geheugenallocator.
  • Verbeterde ondersteuning voor LoongArch CPU's.
  • Er is een speciale afhandeling toegevoegd voor bepaalde systeemlettertypen van macOS.
  • Overbodige code voor niet-ondersteunde Itanium-, 32-bits Sparc- en andere oude architecturen is verwijderd.
  • Er is een tijdelijke oplossing toegevoegd voor het formaat wijzigen van afbeeldingen in CloudFlare, omdat dit een minder transparante URL-verwerking vereist.
  • Deze workaround wordt beheerd met de nieuwe voorkeur network.url.cloudflare_image_resizing.enabled (standaard true). Zie de implementatie-opmerkingen.
  • Opgeloste beveiligingsproblemen: CVE-2026-4707 (DiD), CVE-2026-4690 (DiD), CVE-2026-4727 (DiD) en andere zonder CVE-aanduiding.
  • Een opmerking: de voor Mozilla relevante beveiligingsproblemen CVE-2025-59375 en CVE-2026-4726 waren al in de browser verholpen vóór deze release.
Implementatie-aantekeningen

  • CloudFlare biedt zijn klanten een service voor het verkleinen van afbeeldingen, waarbij een complexe tekenreeks in de URL wordt gebruikt om het verkleiningsproces te beheren. De oplossing die in deze versie is geïmplementeerd, behandelt alles na /cdn-cgi/image/ als ondoorzichtige padgegevens (op alle websites, gezien de wijdverspreide aard van CloudFlare als CDN, op veel topdomeinen). Zonder deze oplossing werkt het verkleinen van afbeeldingen op deze manier niet en resulteert dit in HTTP 403-fouten (verboden toegang).
  • Deze workaround verstoort onze normale manier van URL-parsing. Als dit problemen veroorzaakt met sites die dit specifieke padvoorvoegsel gebruiken, probeer dan de voorkeur aan te passen (naar 'false' om deze workaround uit te schakelen) en kijk of dat helpt. Laat het ons weten (op het forum of in de repository).
Nieuwe functies
  • Xoroshiro128++ JavaScript PRNG opnieuw geïmplementeerd om het robuuster te maken met behoud van hoge prestaties.
  • Dit was eerder teruggedraaid vanwege intermitterende problemen en crashes.
  • JavaScript SubmitEvent-ondersteuning voor HTML-formulieren geïmplementeerd.
  • JavaScript requestSubmit() voor HTML-formulieren geïmplementeerd.
  • JavaScript toSorted() geïmplementeerd.
  • JavaScript toReversed() geïmplementeerd.
  • Ondersteuning voor top-level await voor JavaScript-modules geïmplementeerd. Zie implementatieopmerkingen.
  • CSS-mediaquery's voor pointers en hover geïmplementeerd.
  • Hardwareversnelde decodering voor VP9-video's ingeschakeld (waar mogelijk).
Wijzigingen/fixes
  • Onze expat-bibliotheekupdate opnieuw geïmplementeerd, met fixes voor het parseren van grote attributen.
  • De JPEG-XL-bibliotheek bijgewerkt naar 0.11.2 om beveiligings- en prestatiefixes door te voeren, en een spot-fix toegepast voor big-endian hardware.
  • Libtheora bijgewerkt naar 1.2.0.
  • Libvpx is bijgewerkt naar 1.16.0 met verschillende fixes om compatibiliteit met oudere MacOS- en PowerPC-platforms te behouden.
  • Pale Moon staat vanaf deze versie ongecodeerde websocket-verbindingen met localhost-adressen toe, zelfs wanneer het oproepende document gecodeerd werd aangeboden.
  • Een probleem in de nieuwe Cascade Layers-implementatie dat problemen veroorzaakte met UI-elementen en extensies is opgelost.
  • Verschillende problemen met de nieuwe ICU-bibliotheekimplementatie in UXP zijn opgelost:
  • Een probleem opgelost waarbij onverwachte Unicode-spaties in datumstrings werden geretourneerd in plaats van standaardspaties, wat problemen veroorzaakte met webscripting.
  • Een probleem opgelost met meervoudsvormen voor Shuar, Welsh en verschillende Slavische talen.
  • Een probleem met letterpunten in het Litouws is opgelost.
  • Een probleem met woordafbreking in het Tibetaans is opgelost.
  • Een intermitterende browsercrash in verband met het verwijderen van gecachete afbeeldingsgegevens is opgelost en de afhandeling van afbeeldingsgegevens in de cache is in het algemeen verbeterd.
  • De compatibiliteit met Mac op PowerPC-hardware is verder verbeterd.
  • Ondersteuning voor bouwen op 32-bits MacOS 10.6 is hersteld.
  • Diverse fixes toegepast voor bouwen op MacOS 10.5 (Leopard) en 10.6 (Snow Leopard).
  • Problemen met runtime op FreeBSD 15.* opgelost.
  • Probleem met het toepassen van afbeeldingsfilters op big-endian-hardware opgelost.
  • Probleem opgelost waardoor gebundelde lettertypen niet goed werkten op andere doelen dan Windows of Linux-GTK.
  • PerformanceObservers standaard ingeschakeld. Zie implementatieopmerkingen.
  • Beveiligingsproblemen opgelost: CVE-2026-2806 (DiD), CVE-2026-2758, CVE-2026-2804, CVE-2026-2787 (DiD), CVE-2026-2757, CVE-2026-2773, CVE-2026-2779 (DiD), CVE-2026-2775 en verschillende andere die geen CVE-aanduiding hebben.
Implementatieopmerkingen
  • Top-level await voor JavaScript-modules is geïmplementeerd. Hierdoor kan het await-sleutelwoord op het hoogste niveau worden gebruikt zonder een wrapper om pseudo-synchrone verwerking in asynchrone modules af te dwingen. Hiermee is de laatste mijlpaal van onze ES2022-compatibiliteit bereikt. Het ontbreken hiervan zou er met name toe leiden dat websites die bepaalde frameworks gebruiken volledig leeg worden weergegeven. Veel dank aan de beheerder van Basilisk voor het realiseren van deze implementatie voor UXP.

  • PerformanceObservers is een op webontwikkeling gerichte API waarmee gedetailleerde timinggegevens van webpagina's kunnen worden geregistreerd. Hoewel deze API bedoeld is voor het opsporen van prestatieknelpunten en dergelijke door webontwikkelaars, wordt deze door steeds meer websites gebruikt in productiesites (voornamelijk voor analyse, maar in meer dan een paar gevallen ook voor basisfunctionaliteit van de websites). Pale Moon had de optie om ze indien nodig per geval in te schakelen (in Voorkeuren -> Privacy, het tabblad "Tracking"), maar ze bleven standaard uitgeschakeld vanwege de voor de hand liggende gevolgen voor de privacy als deze API voor alle sites beschikbaar zou zijn. Helaas is dit inmiddels zo'n groot probleem voor de webcompatibiliteit geworden dat we ze standaard hebben moeten inschakelen.
  • De update van de expat-bibliotheek is teruggedraaid omdat deze geheugenoverbelasting en browserstoringen veroorzaakte bij XUL/XML- en SVG-bestanden met bijzonder grote attributen.
  • De wijziging van de Javascript PRNG is teruggedraaid omdat deze intermitterende problemen en crashes veroorzaakte op 32-bits platforms.
Terug
Bovenaan