Mozilla hat Firefox 149.0.2 veröffentlicht und behebt damit mehrere Probleme der Vorgängerversion. Außerdem wurden zahlreiche Sicherheitslücken geschlossen.
Mozilla hat Firefox 149.0.2 für Windows, macOS und Linux veröffentlicht. Firefox 149.0.1 wurde für die genannten Plattformen übersprungen, da diese Versionsnummer einem Android-Update vorbehalten war.
Mit Firefox 149.0.2 behebt Mozilla zahlreiche Sicherheitslücken. Alleine aus Gründen der Sicherheit ist ein Update daher für alle Nutzer empfohlen.
Das Update bringt Unterstützung für zwei neue Unternehmensrichtlinien. Eine neue Richtlinie dient zum Aktivieren und Deaktivieren von KI-Funktionen in Firefox, die andere Richtlinie zum Deaktivieren der kostenlosen VPN-Integration in Firefox. Beide neuen Richtlinien werden von der neuesten Version des Enterprise Policy Generators bereits unterstützt. Behoben wurde der Fehler, dass die Unternehmensrichtlinie zum Setzen der Startseite nicht mehr direkt nach dem Starten von Firefox funktionierte.
Mit der Neugestaltung der Fehlerseiten in Firefox 149 hatten manche Fehlerseiten nicht länger den spezifischen Fehlercode angezeigt. Dies wurde korrigiert.
Die Option, Tabs über den Reiter „Offene Tabs” des Bildschirms „Firefox View” an ein anderes Gerät zu senden, funktionierte nicht mehr.
Mögliche Darstellungsprobleme nach der Wiedergabe von Videos wurden behoben.
SVG-Favicons wurden in in der Sidebar für synchronisierte Tabs nicht länger dargestellt.
Unter Linux konnte es unter bestimmten Umständen vorkommen, dass die Firefox-Oberfläche nicht mehr auf Klicks reagierte.
Darüber hinaus wurden mehrere Webkompatibilitäts-Probleme behoben.
Die Lösung ist die Eigenschaften der Virtuellen Maschine aufzurufen, hier die Volle Auflösung des Retina Display verwenden zu aktivieren und nach dem Anmelden im Kali Linux Desktop Kali HiDPI Mode zu wählen. Nach einem Restart sollte alles beim alten sein.
Nach dem aus sicherheitsupdategründen erzwungenen Upgrade auf macOS 26.3 mit einem anschließenden Update auf VMware 25H2 war dies einer der kleinen Schluckauf, welche ich zu bewerkstelligen hatte.
Hier haben wir wieder ein „Henne und Ei“-Problem.
Zwar sind die Cookies richtig kopiert worden und auch die Dateien sind zugänglich, sie lassen sich ja via Browser aufrufen, aber leider ist ytdlp veraltet. Bis ein neues Image für Tube Archivist erscheint, muss man sich mit der Variable TA_AUTO_UPDATE_YTDLP helfen.
Mit dieser Variable in der Compose-Datei und dieser den Wert release mitgeben. Nach einem Neustart des Containers wird eine neue Version von ytdlp heruntergeladen und die Videos können wieder lokal gespiegelt werden.
Was bei mir so vor der Eingabe des LUKs Passwortes und dem Starten von Debian vorbeihuschte, hatte mich dann doch einmal interessiert:
0.21027?] DMAR: [Firmware Bug: No firmware reserved region can cover this
MRR T®x00000000cd800000-0x00000000c/rFTfffl, contact BIOS vendor for Fixes
0.4880091 ACPT Error: Needed type tReferencel, found (Integerl ( ptrual_
→ (20220331050-665
0. 488035] ACPT Brror: AE AML OPERAND_TYPE, While resolving operands for tOp codeNane unavailable] (20220331/dswexec-431)
0. 488052] ACP Error: Aborting method PR.CPUO. PDC due to previous error (AE_AML, OPERAND TYPE) (20220331/psparse-529)
1.9383933 DMAR: DRHD: handling fault status reg 3
1.9384083 DMAR: EDMA Read NO_PASID] Request device [00:16.7] fault addr Oxc cdf1000 [fault reason Ox02] Present bit in context entry is clear
1.938649] DMAR: DRHD: handling fault status reg 2
1.9386563 DHAR: COMA Write NO_PASID] Request device [00:16.7] fault addr 0x ccdf/000 [fault reason 0x02] Present bit in context entry is clear
1.9386963 DMAR: DRHD: handling fault status reg 2
1.938702J DMAR: CDMA Write NO_PASID] Request device [00:16.7] fault addr 0x
ccd/P000 [fault reason 0x02] Present bit in context entry is clear
Kurz und knapp, es ist ein Fehler im BIOS, welcher schon seit 2013 besteht und vom T440 bis an den T460 weitergereicht wurde.
Lenovo behebt den Fehler, welcher bekannt ist nicht.
Jemand hat den zugehörigen Thread im Jahr 2018 erstellt, zwei Jahre nach dem Erscheinen des T460.
Nach einem Update auf Nextcloud 31.0, Hub 10, hatte ich im Backend folgende Meldung die Meldung:
Falsches Zeilenformat in Ihrer Datenbank gefunden. ROW_FORMAT=Dynamic bietet die beste Datenbankleistung für Nextcloud. Bitte aktualisieren Sie das Zeilenformat in der folgenden Liste:…
Folgender SQL-Befehl fixt die Datenbank
mysql -u root -p -D DATENBANKNAME -N -e"
SELECT CONCAT(
'ALTER TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ' ',
'ROW_FORMAT=DYNAMIC;'
)
FROM INFORMATION_SCHEMA.TABLES
WHERE ENGINE='InnoDB' AND ROW_FORMAT <> 'DYNAMIC';" | mysql -u root -p DATENBANKNAME
Ich empfehle vorher ein Datenbankbackup mit z.B. mydumper vorzunehmen
Da auf meinem Server einige Container laufen, wurde durch mein Rollout des Containers Tubearchivist der Platz langsam eng.
Hier habe ich mich entschlossen, den Standardspeicherplatz von Docker auf eine der 6 TB Datenpools zu verschieben. Das Umschreiben des Servicekonfigurationsdatei innerhalb von SystemD wäre hier der falsche Weg. Der richtige Weg ist hier JSON-Konfigurationsdatei des Daemon von Docker umzuschreiben. Falls diese noch nicht angelegt ist, muss diese angelegt werden.
Wer meinem Blog folgt und, wie im Artikel „PHP 7.4 FPM auf PHP 8.1 FPM für Nextcloud“, die externe PHP-Quelle von https://deb.sury.org/ eingebaut hat und später der Anleitung „PHP 8.2 FPM für Nextcloud 28“ gefolgt ist, könnte noch auf PHP 8.2 FPM hängen geblieben sein. Da sich diese Version im Status Security fixes only befindet, ist ein Wechsel auf eine höhere Version absolut empfehlenswert. Diese PHP-Version lässt sich recht einfach auf PHP 8.4 FPM umstellen. Unter dem Raspberry Pi OS ist das mit wenigen Befehlen erledigt. In diesem Beitrag zeige ich kurz, wie man PHP 8.2 deaktiviert, PHP 8.4 installiert und Nextcloud anschließend mit der neuen Version betreibt.
Vor der Umstellung empfiehlt es sich, ein Backup der Installation und der Datenbank anzulegen. Außerdem sollte geprüft werden, ob die eingesetzten Apps bereits mit Nextcloud 33 und PHP 8.4 kompatibel sind.
Nun wird PHP 8.2 deaktiviert und PHP 8.4 aktiviert:
sudo update-alternatives --config php
sudo update-alternatives --config php
Es gibt 7 Auswahlmöglichkeiten für die Alternative php (welche /usr/bin/php bereitstellen).
Auswahl Pfad Priorität Status
------------------------------------------------------------
0 /usr/bin/php.default 100 automatischer Modus
1 /usr/bin/php.default 100 manueller Modus
2 /usr/bin/php7.4 74 manueller Modus
3 /usr/bin/php8.1 81 manueller Modus
* 4 /usr/bin/php8.2 82 manueller Modus
5 /usr/bin/php8.3 83 manueller Modus
6 /usr/bin/php8.4 84 manueller Modus
7 /usr/bin/php8.5 85 manueller Modus
Hier die entsprechende Nummer eingeben – in diesem Fall die 6 für PHP 8.4:
sudo update-alternatives --config php
Es gibt 7 Auswahlmöglichkeiten für die Alternative php (welche /usr/bin/php bereitstellen).
Auswahl Pfad Priorität Status
------------------------------------------------------------
0 /usr/bin/php.default 100 automatischer Modus
1 /usr/bin/php.default 100 manueller Modus
2 /usr/bin/php7.4 74 manueller Modus
3 /usr/bin/php8.1 81 manueller Modus
4 /usr/bin/php8.2 82 manueller Modus
5 /usr/bin/php8.3 83 manueller Modus
* 6 /usr/bin/php8.4 84 manueller Modus
7 /usr/bin/php8.5 85 manueller Modus
Die Abfrage der Version zeigt, ob die Umstellung auf PHP 8.4 angenommen wurde.
php -v
PHP 8.4 FPM starten und Apache neu laden
Anschließend wird der neue FPM-Dienst aktiviert und gestartet:
Der Neustart des Webservers aktiviert nun die aktuelle PHP-Version:
sudo service apache2 restart
Nextcloud-Konfiguration
Sollten in Nextcloud anschließend wieder die bekannten Fehlermeldungen erscheinen, sind diese am besten Schritt für Schritt abzuarbeiten. Dazu werden zunächst die neue php.ini geöffnet:
sudo nano /etc/php/8.4/fpm/php.ini
und anschließend die Werte für memory_limit sowie session.gc_maxlifetime gemäß den Empfehlungen angepasst:
memory_limit = 512M
session.gc_maxlifetime = 3600
Am Ende der php.ini werden außerdem noch die Einstellungen für den Zwischenspeicher OPcache ergänzt:
Danach muss in der apcu.ini noch das Command Line Interface (CLI) des PHP-Caches aktiviert werden. Dazu die Datei öffnen:
sudo nano /etc/php/8.4/mods-available/apcu.ini
und am Ende folgende Zeile ergänzen:
apc.enable_cli=1
Ist dies geschehen, wird der Webserver ein letztes Mal neu gestartet:
sudo service apache2 restart
Nextcloud prüfen
Danach sollte die Nextcloud-Instanz im Browser aufgerufen werden. Unter Administrationseinstellungen / System lässt sich kontrollieren, ob die neue PHP-Version erkannt wurde.
Zur Sicherheit zusätzlich die Logdateien von Apache, PHP-FPM und Nextcloud prüfen.
Fazit
Die Umstellung von PHP 8.2 auf PHP 8.4-fpm für Nextcloud 32 ist unter Raspberry Pi OS schnell erledigt. Wichtig ist vor allem, die benötigten PHP-Module zu installieren und anschließend die alte FPM-Konfiguration sauber durch die neue zu ersetzen.
Der Enterprise Policy Generator richtet sich an Administratoren von Unternehmen und Organisationen, welche Firefox konfigurieren wollen. Mit dem Enterprise Policy Generator 8.0 wurde nun das größte Update seit Bestehen der Erweiterung veröffentlicht, welches bedeutende Verbesserungen bringt.
Der Enterprise Policy Generator hilft bei der Erstellung der Datei „policies.json” für die Konfiguration von Firefox. Der Vorteil dieser Konfigurationsdatei gegenüber Group Policy Objects (GPO) ist, dass diese Methode nicht nur auf Windows, sondern plattformübergreifend auf Windows, Apple macOS sowie Linux funktioniert. Dank dieser Erweiterung ist kein tiefergehendes Studium der Dokumentation und aller möglichen Optionen notwendig und Administratoren können sich die gewünschten Richtlinien einfach zusammenklicken.
Neuerungen vom Enterprise Policy Generator 8.0
Über sechs Monate Entwicklung, die parallel zur Veröffentlichung mehrerer Updates der Versionsreihe 7.x stattgefunden hat, stecken im Enterprise Policy Generator 8.0. Das Ergebnis sind zahlreiche Verbesserungen.
Komplette Neuentwicklung des Erweiterungs-Backends
Seit der ersten Version setzt der Enterprise Policy Generator auf ein intelligentes Backend, welches sowohl die Oberfläche als auch die Generierung der Datei policies.json vollständig aus einer einzelnen Konfigurationsdatei ableitet, ohne dass für neue Richtlinien Dinge dazu programmiert werden müssen. Soweit die Theorie. In der Praxis kamen seitens Firefox über die Jahre viele neue Richtlinien dazu – und damit viele neue Varianten, wie Richtlinien umzusetzen sind, die ursprünglich so nicht vom Enterprise Policy Generator abgedeckt worden sind. Und so wurde das alte Backend Richtlinie für Richtlinie immer wieder erweitert. Am Ende wurde es trotz ursprünglich guter Idee sehr kompliziert, neue Richtlinien zu implementieren, weil es mittlerweile viele verschiedene Code-Pfade und viel dupliziertem Code gab, womit es immer schwieriger wurde, zu verstehen, wie die Erweiterung funktioniert und wann welche Option zu wählen ist.
Aus diesem Grund wurden große Teile der Erweiterung von Grund auf neu entwickelt. Die neue Architektur ist deutlich schlanker und einfacher zu verstehen, mit weniger Code-Pfaden, die dafür flexibel nutzbar und verschachtelbar sind. Die Vorteile sind eine deutlich verbesserte Wartbarkeit, was eine schnellere Auslieferung von Updates für zukünftige Unternehmensrichtlinien erlaubt. Außerdem führt dies zu einer verbesserten Konsistenz im Design und weniger Fehlern in Sonderfällen. Auch der Entwicklungs-Workflow wurde verbessert, inklusive Einführung eines Schemas, welche die komplett neue JSON-basierte Konfiguration validiert, um so Unterstützung durch die Entwicklungsumgebung zu erhalten, wenn neue Richtlinien implementiert werden. Auch dies zahlt auf die Möglichkeit schneller verfügbarer Updates ein.
Modernisierung des Designs
Während das grundlegende Design beibehalten wurde, damit sich bisherige Nutzer weiterhin gut zurecht finden, wurde das Design gleichzeitig modernisiert, was sich unter anderem in den Rundungen und neuen Symbolen zeigt. Bei Einträgen, die mehrere Werte erlauben, ist nun deutlich besser erkennbar, welches Feld zu welchem Eintrag gehört. Auch gab es Optimierungen für kleinere Bildschirme.
Fokus auf Barrierefreiheit
Signifikante Verbesserungen gab es für die barrierefreie Nutzung der Erweiterung. Dies schließt unter anderem eine Anpassung der Farben ein, sodass an allen Stellen ausreichende Kontraste gewährleistet sind, klar erkennbare Links, vor allem aber auch die Bedienung über die Tastatur, unter anderem durch eine logische Tabulator-Reihenfolge, neue Tastatur-Shortcuts und einen immer sichtbaren Fokus bei Verwendung der Tastatur. Auch darüber hinaus gab es unter der Haube noch Verbesserungen der Barrierefreiheit.
Inhalte via Drag and Drop verschieben
Wenn mehrere Einträge erlaubt sind, beispielsweise für die Einrichtung mehrerer Startseiten, kann die Reihenfolge dieser nun per Drag and Drop verändert werden, statt wie bisher von Hand die Inhalte austauschen zu müssen. Auch hierbei wurde auf eine barrierefreie Nutzung geachtet und auch das Verschieben ist per Tastatur möglich.
Neue Tastatur-Shortcuts
Über die Tastenkombination Shift + F ist es nun möglich, das Filter-Feld zu fokussieren, und Shift + G setzt den Fokus auf die Schaltfläche zum Generieren der Richtlinien-Ausgabe.
Zum Verschieben von Elementen kann bei Fokus auf das Schiebe-Element die Leertaste genutzt werden, um das Element aufzunehmen. Über die Pfeiltasten nach oben und unten erfolgt das Verschieben. Über die Leertaste oder Enter wird das Element an seiner neuen Position abgelegt. Mittels Esc kann die Aktion abgebrochen werden.
Syntax-Highlighting und Zeilennummern
In der generierten Richtlinien-Ausgabe wird der Code für eine bessere Lesbarkeit ab sofort farbig dargestellt. Auch Zeilennummern gibt es nun. Diese beiden Funktionen stehen nur bei Nutzung von Firefox 148 und höher zur Verfügung.
Automatische Größenanpassung für mehrzeilige Textfelder
Mehrzeilige Textfelder (derzeit nur für die 3rdparty-Richtlinie genutzt) ändern ihre Höhe jetzt automatisch, basierend auf der Länge des Inhalts.
Direktes Kopieren in die Zwischenablage
Der Link, um die generierte Richtlinien-Ausgabe zu markieren, wurde durch einen Link ersetzt, der den Code direkt in die Zwischenablage kopiert.
Zusätzliche Validierungen
Der Enterprise Policy Generator konnte bereits bestimmte Dinge validieren, wie Pflichtfelder oder URLs. Die neue Version kann zusätzliche Dinge validieren, wie bestimmte Platzhalter oder Zahlen in einem bestimmten Bereich.
Überarbeitete Kategorisierung
Die Unternehmensrichtlinien sind einer von mehreren Kategorien zugeordnet. Mit der neuen Version wurden weitere Kategorien eingeführt: Lesezeichen, Downloads, PDF und Drucken, Website-Einstellungen, Authentifizierung, Netzwerk-Sicherheit. Durch die zusätzlichen Kategorien sind die einzelnen Kategorien weniger lang, was es einfacher machen soll, die gewünschte Richtlinie zu finden.
Mehr Ergebnisse für Filterfunktion
Ebenfalls beim Finden von Richtlinien helfen soll der Filter. Der hat bereits den Richtlinien-Namen sowie die Beschreibung durchsucht. Für Richtlinien mit Optionen werden jetzt zusätzlich auch die Namen der Optionen sowie deren Beschreibungen durchsucht.
Zusatz-Informationen nur bei Bedarf anzeigen
Versionsangaben für Richtlinien, die erst ab einer bestimmten Firefox-Version unterstützt werden, sowie weiterführende Informationen und Links werden nur noch für aktivierte Richtlinien angezeigt, damit die Oberfläche nicht überladen wird.
Keine Datensammlung
Der Enterprise Policy Generator sammelt keine Daten. Um dies explizit zu machen, wurde eine neue Eigenschaft im Erweiterungs-Manifest gesetzt. Diese sorgt dafür, dass Nutzer bei der Installation sowie in der Add-ons-Verwaltung einen entsprechenden Hinweis sehen.
Firefox ESR 140 als neue Mindestanforderung
Neue Mindestanforderung ist Firefox ESR 140. Firefox ESR 128 wird damit nicht länger unterstützt. Für Richtlinien, die zwischen Firefox ESR 128 und Firefox ESR 140 implementiert worden sind, wird keine Versionsangabe mehr angezeigt.
Promotion-Box
Über eine Promotion-Box wird eine einfache Möglichkeit angeboten, die Entwicklung der Erweiterung sowie Implementierung neuer Unternehmensrichtlinien zu unterstützen.
Warnung beim Laden inkompatibler Konfiguration
Aus technischen Gründen ist es nicht möglich, Konfigurationen, die in früheren Versionen der Erweiterung gespeichert wurden, im Enterprise Policy Generator 8.0 oder neuer zu laden oder zu importieren.
Wird versucht, eine nicht kompatible Konfiguration zu laden, wird ein entsprechender Informationsdialog angezeigt. Über diesen kann auch Kontakt aufgenommen werden, damit ich – vollkommen kostenlos – alte Konfigurationen für den Enterprise Policy Generator 8.0 oder höher konvertiere.
Neue Unternehmensrichtlinien im Enterprise Policy Generator 8.0
Der Enterprise Policy Generator 8.0 bringt nicht nur viele Neuerungen, sondern unterstützt auch zusätzliche Unternehmensrichtlinien.
Die Richtlinie AIControls erlaubt die Konfiguration bestehender sowie zukünftiger KI-Features in Firefox und orientiert sich dabei an den neuen KI-Einstellungen von Firefox. Damit ersetzt diese Richtlinie de facto die zwei bisherigen Richtlinien GenerativeAI und TranslateEnabled, welche zwecks Kompatibilität mit Firefox ESR 140 noch Teil vom Enterprise Policy Generator 8.0 sind. Allerdings schließen sich die Richtlinien gegenseitig aus, sodass nicht AIControls nicht gleichzeitig mit GenerativeAI und TranslateEnabled und umgekehrt verwendet werden kann.
Die Richtlinie IPProtectionAvailable kann zur Deaktivierung der VPN-Integration genutzt werden.
Über die Richtlinie ContentAnalysis ist die Konfiguration einer Data Loss Prevention-Lösung (DLP) möglich.
Die Richtlinie ManagedBookmarks erlaubt neben der bereits möglichen Konfiguration von Lesezeichen jetzt auch das Anlegen von Ordnern mit Lesezeichen darin.
Die Beschreibung der Richtlinie PopupBlocking wurde angepasst, um zu erwähnen, dass dies auch eine Drittanbieter-Weiterleitungsblockierung in Firefox 144 und neuer beinhaltet.
Die Unterstützung für die Richtlinie Extensions wurde entfernt, weil alle Funktionen und noch viel mehr durch die Richtlinie ExtensionSettings abgedeckt wird.
Alle Optionen, welche intern die veraltete Version der Richtlinie Preferences nutzten, wurden entfernt. Diese können alle durch die neuere Preferences-Richtlinie abgebildet werden.
Entwicklung unterstützen
Wer die Entwicklung des Add-ons unterstützen möchte, kann dies tun, indem er der Welt vom Enterprise Policy Generator erzählt und die Erweiterung auf addons.mozilla.org bewertet. Auch würde ich mich sehr über eine kleine Spende freuen, welche es mir ermöglicht, weitere Zeit in die Entwicklung des Add-on zu investieren, um zusätzliche Features und neue Richtlinien zu implementieren.
Mit Firefox 148 wurde die Symbolleiste überarbeitet, welche nicht nur moderner aussieht, sondern auch eine zusätzliche Schaltfläche brachte. Außerdem ist es seit dem möglich, eine zweite Leiste einzublenden, womit sowohl mehr Platz für die Adressleiste als auch für Schaltflächen zur Verfügung steht.
Firefox 149 geht einen Schritt weiter und lässt den Nutzer eine Schaltflächen-Position nach Wunsch belegen.
Suchfunktion für Einstellungen
Firefox bietet mittlerweile eine ganze Reihe von Einstellungen. Um schneller die passende Option zu finden, gibt es in den Einstellungen jetzt eine Suchfunktion.
Sonstige Neuerungen von Firefox 149 für Android
Eine Suchfunktion gibt es nun auch für die geöffneten Tabs in der neuen Tabübersicht, die seit Firefox 148 ausgerollt wird. Diese Funktion wird allerdings schrittweise ausgerollt und steht noch nicht für alle Nutzer zur Verfügung.
Im Lesezeichen-Bildschirm kann ein Lesezeichen jetzt über das dazugehörige Menü ausgewählt werden, um so den Bildschirm für die Mehrfachauswahl zu aktivieren. Bislang musste man dazu das Lesezeichen länger gedrückt halten.
Der Downloads-Bildschirm erlaubt nun auch das Umbenennen heruntergeladener Dateien.
Das Such-Widget für den Android-Startbildschirm kann ab sofort auch über die Such-Einstellungen aktiviert werden, womit diese Möglichkeit leichter auffindbar wird.
Dazu kommen weitere neue Plattform-Features der aktuellen GeckoView-Engine, diverse Fehlerbehebungen, geschlossene Sicherheitslücken sowie Verbesserungen unter der Haube.
Anfang Oktober 2025 hat das Raspberry Pi OS ein Upgrade auf Version 13 mit dem Codenamen Trixie erhalten. Dies setzt die Serverbetreiber wieder einmal mächtig unter Druck, obwohl Bookworm noch weitere Jahre unterstützt wird. Die Entwickler empfehlen eine Neuinstallation. Es ist immer von Vorteil, ein Betriebssystem wie im Falle von Trixie neu und somit sauber aufzusetzen. Da ich aber seit Jahren eine gut funktionierende Nextcloud-Instanz auf meinem Raspberry Pi pflege, die ich in meinem Alltag produktiv einsetze, wäre es zu schade, noch einmal ganz von vorn anfangen zu müssen. Aus diesem Grund war ich auf der Suche nach einem funktionierenden Tutorial für das anstehende OS-Upgrade. Schon beim Umstieg auf Bookworm war der Blog von Sascha Syring sehr hilfreich. Also hoffte ich auch dieses Mal, wieder hier fündig zu werden. Der Artikel „Raspberry Pi OS – Update von Bookworm (12) auf Trixie (13)“ von Sascha beschreibt einmal mehr die genaue Vorgehensweise.
Ich konnte somit alles 1:1 mit meinem System umsetzen. Hier nun alle Schritte mit den entsprechenden Erläuterungen.
Bevor es jedoch losgeht, noch ein wichtiger Hinweis:
Denkt bitte daran, vorher ein Backup zu erstellen! Das Upgrade birgt nicht zu unterschätzende Gefahren.
Upgrade auf Trixie
Zuerst sollte man dafür sorgen, das System inklusive Kernel und aller Abhängigkeiten auf den neuesten Stand zu bringen. Hierzu führt man folgenden Befehl aus:
sudo apt update && sudo apt full-upgrade
Vorbereitend wurde in meinem Fall die alte PHP-Fremd-Quelle deaktiviert.
Hierzu setzt man eine Raute (#) vor den Eintrag, öffnet dazu die php.list mit einem Editor
sudo nano /etc/apt/sources.list.d/php.list
und kommentiert die Zeile entsprechend aus:
#deb https://packages.sury.org/php/ bullseye main
Danach werden die hauseigenen Quellen des Raspberry Pi OS auf Trixie umgestellt:
sudo nano /etc/apt/sources.list
Hierzu wird in allen Quellen wie folgt bookworm durch trixie ersetzt:
deb http://deb.debian.org/debian trixie main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
deb http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware
Das Gleiche führt man analog hier durch:
sudo nano /etc/apt/sources.list.d/raspi.list
deb http://archive.raspberrypi.org/debian/ trixie main
Da beim ersten Versuch des Upgrades noch einiges schieflief, möchte ich an dieser Stelle darauf hinweisen, dass das Entfernen folgender Pakete für das Gelingen extrem wichtig ist!
das eigentliche Upgrade. Hierzu ist noch zu erwähnen, dass bei den Abfragen zu alten Konfigurationen diese erhalten bleiben sollen. An diesen Stellen also bitte immer die Vorgabe (N) während der Installation wählen.
Die Pakete rpd-wayland-all und rpd-x-all werden noch nachinstalliert:
Am Anfang der Anleitung hatte ich die PHP-Quelle auskommentiert. Das machen wir nun wieder rückgängig. Erscheint nun nach einem Update der Hinweis, dass der zugehörige Schlüssel abgelaufen ist, löscht man diesen, lädt den aktuellen herunter und liest ihn neu ein.
Ich habe mir kürzlich einen FiiO SnowSky Echo Mini gekauft. Leider zeigt dieser bei manchen Alben nicht das integrierte Albumcover an. Dies lässt sich zum Glück recht einfach beheben. Was ich beim Herumprobieren festgestellt...
Mozilla hat Firefox 149 für Windows, Apple macOS und Linux veröffentlicht. Dieser Artikel fasst die wichtigsten Neuerungen zusammen – wie immer auf diesem Blog weit ausführlicher als auf anderen Websites.
Mit der geteilten Ansicht für Tabs können zwei Tabs gleichzeitig nebeneinander dargestellt werden. Hierzu müssen entweder ein oder zwei Tabs ausgewählt werden. Dann steht die entsprechende Option im Kontextmenü zur Verfügung. Wird die Option bei nur einem ausgewählten Tab aktiviert, werden in der zweiten Fensterhälfte alle geöffneten Tabs zur Auswahl angeboten. Die Breite der jeweiligen Teilfenster kann beliebig verändert werden.
Tab-Notizen
Eine weitere neue Tab-Funktion sind die Tab-Notizen, wobei es treffender formuliert wäre, dass die Notizen an die jeweilige URL und nicht an den Tab gebunden sind. Dieses Feature ist noch experimentell und muss daher manuell über den Reiter „Firefox Labs” in den Einstellungen aktiviert werden. Auch Tab-Notizen können über das Kontextmenü des jeweiligen Tabs verwaltet werden.
Kostenlose VPN-Integration in Firefox
Mit Firefox 149 beginnt Mozilla die Ausrollung eines kostenlosen VPNs in Deutschland, Großbritannien, Frankreich sowie den USA. Dabei stehen 50 GB pro Monat zur Verfügung, um den Datenverkehr über Mozillas VPN laufen zu lassen, welches die echte IP-Adresse verbirgt und den Internetverkehr zusätzlich verschlüsselt. Die Nutzung wird an jedem Monatsersten zurückgesetzt. Einzige Voraussetzung ist ein kostenfreies Mozilla-Konto. Die Ausrollung in weiteren Ländern ist für die kommenden Monate geplant.
Speichern und Ausfüllen von Adressen
Die Funktion zum Speichern und Ausfüllen von Adressen auf Websites steht schon länger in diversen Ländern zur Verfügung. Firefox 149 aktiviert diese Funktion auch für Nutzer in Österreich, Italien, Polen, Indien und Australien.
Außerdem wurde das Ausfüllen von Adressen in Formularen verbessert, in denen es noch ein zweites Feld für einen Hausnummern-Zusatz gibt.
Neues Datenschutz- und Sicherheits-Panel in Adressleiste
Die zwei Schaltflächen mit dem Schild-Symbol für den Tracking-Schutz sowie dem Schloss-Symbol für die Zertifikats-Sicherheit wurden zu einem gemeinsamen Panel kombiniert, welches dazu neu gestaltet worden ist.
Neues Design für Netzwerkfehler-Seiten
Die Fehlerseiten für Netzwerkfehler wurden optisch wie auch textlich überarbeitet und kommen durch die neu hinzugefügte Firefox-Illustration freundlicher daher.
Teilen-Schaltfläche
Über den Bildschirm zur Anpassung der Benutzeroberfläche lässt sich auf Windows und macOS eine neue optionale Schaltfläche hinzufügen, welche zum Teilen einer Website genutzt werden kann. Hierfür wird die entsprechende Schnittstelle des jeweiligen Betriebssystems genutzt.
Weitere Sprachen für die Übersetzungsfunktion
Die Funktion zur lokalen Website-Übersetzung unterstützt jetzt auch die Sprachen Bosnisch, Serbisch, Norwegisch (Bokmål) sowie Thai. Außerdem wurde die Übersetzungsqualität für Kroatisch verbessert.
Weniger Benachrichtigungen von unseriösen Websites
Firefox blockiert jetzt automatisch Benachrichtigungen und entzieht die Berechtigungen für Websites, welche durch Google SafeBrowsing als schädlich eingestuft werden.
Mehr Sicherheit für Firefox-Nutzer
Auch in Firefox 149 wurden wieder mehrere Sicherheitslücken geschlossen. Alleine aus Gründen der Sicherheit ist ein Update auf Firefox 149 daher für alle Nutzer dringend empfohlen.
Die Sicherheit wurde durch strengere Anforderungen an JavaScript-Dateien verbessert, die im übergeordneten Prozess geladen werden können, wodurch ein zusätzlicher mehrschichtiger Schutz vor potenziellen Bedrohungen geboten wird.
Sonstige Endnutzer-Neuerungen in Firefox 149
Durch die Unterstützung der Hardwarebeschleunigung können PDF-Dateien jetzt wesentlich schneller geladen werden.
Wenn bei Verwendung des strengen Schutzes vor Aktivitätenverfolgung eingebettete Inhalte blockiert werden, zeigt Firefox den Platzhalter-Inhalt des Original-Widgets jetzt zusätzlich an.
Bei aktivierter Sidebar wird der Content-Bereich der Websites nun mit abgerundeten Ecken dargestellt.
Die Robustheit von HTTP/3-Uploads unter instabilen Netzwerkbedingungen wurde verbessert.
Unter Linux greift Firefox nun standardmäßig auf den XDG-Dateiauswähler zurück, sofern dieser verfügbar ist, anstatt auf den GTK3-Dateiauswähler. Dieser ist besser in die Desktop-Umgebung integriert und leistungsfähiger.
Der Zugriff von Websites auf Geräte im lokalen Netzwerk wird im strengen Schutz vor Aktivitätenverfolgung jetzt mit einer Berechtigung geschützt.
Verbesserungen der Entwicklerwerkzeuge
Im Entwicklerwerkzeug Web-Speicher gibt es eine neue Schaltfläche, um alle Einträge des jeweiligen Speichers mit einem Mal zu löschen.
Neben jeder CSS-Deklaration, die sich auf einen in der Ansicht „Berechnete Werte“ angezeigten berechneten Wert bezieht, befindet sich nun ein Symbol, über das man in der Ansicht „Regeln“ direkt dorthin springen kann.
Verbesserungen der Webplattform
Firefox nutzt auf Windows jetzt eine modernere API für Geolocation-Anfragen, anstelle der bisher genutzten Schnittstelle aus Windows 7. Dies soll die Zuverlässigkeit von Standortanfragen verbessern.
Unterstützung für das HTML-Attribut popover="hint" wurde hinzugefügt. CSS wurde um die Unterstützung von Pseudoklassen für Media-Elemente erweitert, unter anderem :playing und :paused.
Dies war nur eine Auswahl. Auch für Entwickler von Firefox-Erweiterungen gab es einige Änderungen. Weitere Verbesserungen der Webplattform und für Erweiterungsentwickler lassen sich wie immer in den MDN Web Docs nachlesen.
Mit Firefox 149 wird Mozilla ein kostenloses VPN in Firefox integrieren. Dieser Artikel gibt eine Vorschau auf die VPN-Integration in Firefox.
Bereits im Oktober 2025 hatte ich darüber berichtet, dass Mozilla an einer kostenlosen VPN-Integration in Firefox arbeitet. Am 24. März 2026 ist es soweit: Mit Veröffentlichung von Firefox 149 startet die Ausrollung der VPN-Integration in Firefox.
Nutzer in Deutschland, Großbritannien, Frankreich und den USA werden zum Start 50 GB pro Monat über das Mozilla-VPN laufen lassen können, welches die echte IP-Adresse verbirgt und den Internetverkehr zusätzlich verschlüsselt. Die Nutzung wird an jedem Monatsersten zurückgesetzt. Einzige Voraussetzung ist ein kostenfreies Mozilla-Konto.
Da es sich um eine in Firefox integrierte Lösung und um kein systemweites VPN handelt, arbeitet der Schutz auch nur in Firefox und nicht für andere Anwendungen. Außerdem ist keine Wahl des Server-Standorts möglich. Es wird aktuell immer ein VPN-Server in den USA genutzt. Ein systemweites VPN mit mit Servern in über 30 Ländern und weiteren Funktionen bietet Mozilla mit dem Mozilla VPN kostenpflichtig an.
Die Aktivierung respektive Deaktivierung des Firefox VPNs geschieht über eine Schaltfläche in der Navigationssymbolleiste. Hier sieht man auch direkt, wie viel Datennutzung im aktuellen Monat noch möglich ist. Außerdem kann das VPN an dieser Stelle für eine bestimmte Website deaktiviert und wieder aktiviert werden.
In den Firefox-Einstellungen lässt sich ebenfalls überblicken, wie viel Nutzung noch möglich ist. Außerdem ist hier eine Verwaltung der Website-Ausnahmen sowie eine Bestellung des Mozilla VPNs möglich.
Mozilla hat die Unterstützung von Firefox für die veralteten Betriebssysteme Windows 7, Windows 8, macOS 10.12, macOS 10.13 sowie macOS 10.14 noch einmal um weitere sechs Monate bis August 2026 verlängert.
Ursprünglich sollte Firefox ESR 115 nur bis September 2024 unterstützt werden. Für Nutzer der veralteten Betriebssysteme Windows 7, Windows 8, macOS 10.12, macOS 10.13 sowie macOS 10.14 hat Mozilla die Lebenszeit von Firefox ESR 115 mehrfach verlängert, bis im Februar 2026 endgültig Schluss sein sollte. Nun hat Mozilla doch noch einmal die Unterstützung von Firefox ESR 115 um weitere sechs Monate bis August 2026 verlängert. Wie immer gilt, dass dann eine erneute Bewertung der Situation erfolgen wird.
Nach aktuellem Stand nutzen noch knapp sieben Prozent der Firefox-Nutzer Windows 7 oder Windows 8. Microsoft selbst hatte die Unterstützung bereits im Januar 2020 eingestellt. Firefox-Konkurrent Google Chrome bietet seit Februar 2023 keine Updates mehr für diese Betriebssysteme an.
Für Nutzer des E-Mail-Programms Thunderbird hat diese Entscheidung keine Auswirkungen. Thunderbird hat die Unterstützung für Windows 7, Windows 8, macOS 10.12, macOS 10.13 und macOS 10.14 bereits eingestellt.
Mozilla hat Firefox 148.0.2 für Windows, macOS und Linux veröffentlicht. Firefox 148.0.1 wurde für die genannten Plattformen übersprungen, da diese Versionsnummer einem Android-Update vorbehalten war.
Mit Firefox 148.0.2 behebt Mozilla mehrere Sicherheitslücken. Alleine aus Gründen der Sicherheit ist ein Update daher für alle Nutzer empfohlen.
Wird in das Suchfeld auf der Firefox-Startseite geklickt, fokussiert Firefox automatisch die Adressleiste. Über eine versteckte Einstellung lässt sich stattdessen auch direkt das Suchfeld auf der Startseite verwenden. Die entsprechende Option wurde mit Firefox 148 zunächst entfernt und kehrt mit Firefox 148.0.2 zurück.
Ein mögliches Darstellungsproblem von Adressleisten-Vorschlägen für Seiten ohne Seitentitel wurde korrigiert.
Auf Windows-Systemen mit Grafikchip von Nvidia und aktiviertem Video Super Resolution konnte es zu einer reduzierten Videoqualität kommen.
Videos auf YouTube konnten trotz blockierter automatischer Wiedergabe unerwartet automatisch abgespielt werden, was insbesondere für Nutzer von Screenreadern ein Problem war.
Beim Betrachten von Medien im Seiteninformationen-Dialog einer Website konnte es zu einem unerwarteten Download von Bildern kommen.
In der Menüleiste von macOS konnten, wenn Firefox ohne aktive Fenster geöffnet war, Einträge erscheinen, die nicht erscheinen sollten.
Mehrere Webkompatibilitätsprobleme und potenzielle Absturzursachen wurden behoben.
Die Einführungstour verwendet ab sofort neue Grafiken, welche das neue Firefox-Maskottchen Kit zeigen.
Rund um die Integration von KI-Tools in Xcode hat sich Apple bisher nicht mit Ruhm bekleckert (siehe auch meinen Blog-Artikel zu Xcode 26.1 und 26.2). Aber mit Version 26.3 ist Xcode endlich doch im KI-Zeitalter angekommen. Der Schlüssel zum Erfolg: die Einhaltung offener Standards.
KI funktioniert in Xcode 26.3, weil Apple mit mcpbridge einen MCP-Server mit ca. 20 Tools für Xcode implementiert hat. Damit können Sprachmodelle direkt mit Xcode kommunizieren, Code ändern, auf aktuelle Apple-spezifische Dokumentation zugreifen, Apps ausprobieren und Fehler beheben.
KI-unterstützte App-Entwicklung in Xcode
Konfiguration
Der Konfigurationsdialog Intelligence sieht simpel aus, stiftet in Wirklichkeit aber Verwirrung. Auf den ersten Blick könnte man meinen, es gäbe zwei vordefinierte KI-Provider: OpenAI mit ChatGPT und Codex auf der einen Seite, Anthropic mit Claude auf der anderen Seite. Es sind aber VIER!
ChatGPT: simple KI-Unterstützung, in begrenztem Ausmaß kostenlos
OpenAI Codex: Agentic Coding mit Codex
Claude: simple KI-Unterstützung
Claude Agent: Agentic Coding mit Claude (vergleichbar mit der CLI Claude Code)
Ich gehe im Folgenden davon aus, dass Sie ein ChatGPT- oder Claude-Abo haben und dieses für Xcode nutzen möchten. Dazu installieren Sie zuerst das entsprechende Zusatzprogramm OpenAI Codex bzw. Claude Agent (Button Get). Ärgerlicherweise scheint die KI-Integration auch ohne diese Zusatzinstallation zu funktionieren — aber dann landen Sie bei den eingeschränkten Varianten ChatGPT oder Claude, die nur mittelmäßig funktionieren, keine Skill-Unterstützung aufweisen usw.
Für Agentic Coding müssen die Zusatzkomponenten »Codex« bzw. »Claude Agent« installiert werden!
Im nächsten Schritt müssen Sie die Verbindung zum jeweiligen KI-Konto herstellen. Die Authentifizierung erfolgt in einem Webbrowser-Fenster. Die konfigurierten KI-Tools bekommen automatisch Zugang zu den MCP-Diensten von Xcode.
KI-Konfiguration in Xcode
Es besteht auch die Möglichkeit, andere externe sowie lokale KI-Provider zu nutzen. Am interessantesten wäre sicherlich Google Gemini, aber ich habe aus Zeitgründen von Tests abgesehen. (Freie, lokale Modelle sind nach meinen Erfahrungen mit anderen IDEs eher ungeeignet. Sie sind für Agentic Coding nicht leistungsfähig genug. Außerdem basieren sie meist auf relativ altem Trainingsmaterial, was bei Swift/SwiftUI besonders ungünstig ist.)
Die Option Allow external agents to use Xcode tools ist nur dann relevant, wenn Sie ein externes (nicht in Xcode eingebettetes) KI-Tool verwenden, z.B. Claude Code oder Codex. Diese externen Tools können dann den in Xcode integrierten MCP-Server nutzen und z.B. Apps ausführen, davon Screenshots erstellen und auf diese Weise UI-Fehler erkennen/beheben.
In der KI-Seitenleiste wählen Sie den gewünschten, zuvor konfigurierten KI-Dienst aus. Alle Agentic Coding Funktionen gibt es aber nur mit Codex oder Claude Agent!
Auswahl zwischen den vorweg konfigurierten Diensten in der KI-Seitenleiste. Agentic Coding setzt »Codex« oder »Claude Agent« voraus!
Erster Versuch (ChatGPT)
Als ersten Versuch habe ich mit dem Modell ChatGPT (ohne OpenAI-Konto) eine minimale Variante des Break-Out-Spiels als iOS-App entwickelt (siehe die erste Abbildung dieses Artikels).
Prompt: create a simple break out game as an iOS app
Zwei Minuten später war die App fertig. 170 Zeilen Code, alle in ContentView.swift. Xcode zeigte allerdings einen Build-Error an und wies auch gleich auf die Ursache hin: Es fehlte import Combine, worum ich mich selbst kümmerte. Danach war die App prinzipiell verwendbar.
Einerseits ist das Ergebnis beeindruckend, andererseits ist die Code-Qualität aber nicht großartig: Xcode bemängelte zwei onChange-Aufrufe, deren Syntax veraltet ist. Aber auch davon losgelöst ist der Code nicht effizient. Die Spielelemente sind alle in SwiftUI abgebildet (kein SpriteKit). Das ist die einfachste Lösung, aber die Implementierung ist langsam. Das Spiel wird stotternd langsam, sobald das Paddel mit der Maus verschoben wird.
Ich habe mit ein paar Folge-Prompts versucht, das Spiel zu verbessern:
Prompt: the onChange() modifiers are deprecated; please fix
Prompt: ok. it works, but it is extremely slow if I move the paddle. (As long as there is no user input, speed is OK)
Das KI-Tool ersetzte zuerst onChange durch task (OK) und baute dann @GestureState ein, um die Geschwindigkeit zu verbessern (ohne Erfolg).
Zweiter Versuch (Claude Agent)
Für den zweiten Versuch habe ich zuerst den Claude Agent heruntergeladen und mit meinem Claude-Konto verknüpft. Gleicher Prompt, also:
Prompt: create a simple break out game as an iOS app
Der erste Unterschied zum vorigen Beispiel besteht darin, dass der Claude Agent über das Problem zuerst nachdenkt und eine To-do-Liste erstellt. Diese arbeitete er dann Punkt für Punkt ab.
Der Code fällt mit ca. 350 Zeilen deutlich umfangreicher aus. Er ist in den beiden neuen Dateien BreakOutGame.swift und BreakOutGameView.swift deutlich besser organisiert. Der Code trennt zwischen Datenmodell und View. (Auf eine vollständige Realisierung des MVVM-Musters hat der Claude Agent aber verzichtet.) Der Code funktioniert auf Anhieb und ist frei von offensichtlich veralteten Funktionen. Auch die Performance ist deutlich besser.
Noch ein Break-Out-Spiel, diesmal generiert vom Claude Agent
Xcode kritisiert allerdings zwei Main-actor-Isolation-Probleme (Warnungen, keine Errors).
Prompt: there are two main actor isolation warnings; fix them
Claude gelingt es auf Anhieb, die Probleme zu beheben (Respekt!).
Eine weitere Analyse des Codes ergibt: Der Code ist OK, aber nicht ausgezeichnet. Der SwiftUI-Pro-Skill (mehr dazu in einem zweiten Blog-Artikel) kritisiert z.B. die Verwendung eines Timers für den GameLoop und schlägt stattdessen TimeLineView(.animation) vor.
Beispiel 3: Vorhandenen Code bearbeiten/erweitern (Claude Agent)
Im dritten Beispiel habe ich das einigermaßen komplexe Cart-Projekt aus meinem Swift-Buch geladen (siehe Kapitel 25). In ca. 2000 Zeilen Code, die über ein Dutzend Dateien verteilt sind, realisiert die App die Verwaltung einer Einkaufsliste, die mittels eines Backends (REST-API) über mehrere Familienmitglieder synchronisiert wird.
Mein erster Prompt sah so aus:
Prompt: /init
Dieses Claude-Code-typische Kommando analysiert die Code-Basis und erstellt die Datei CLAUDE.md mit einer Zusammenfassung über die Organisation des Codes. Damit tut sich der Claude Agent bei weiteren Aufrufen leichter, sich im Code zu orientieren, und muss diesen Schritt nicht wiederholen. Die Datei landet direkt im Projektverzeichnis und ist deswegen im Projektnavigator (der eine Ebene tiefer ansetzt) unsichtbar.
Der Claude Agent lädt diese Datei bei zukünftigen Sessions automatisch. In der Regel ist es zweckmäßig, die Datei durchzulesen und bei Bedarf eigene Erweiterungen durchzuführen. Ich habe bei diesem Test aber darauf verzichtet.
Als Nächstes habe ich in den Projekteinstellungen Default Actor Isolation = MainActor eingestellt (siehe auch den Blog-Artikel Swift 6.2 und Xcode 26.1).
Prompt: This app now uses Default Actor Isolation = MainActor. Remove no longer necessary main actor attributes.
Es gibt nur eine Stelle im Code. Claude Agent findet sie und entfernt das nun überflüssige Attribut.
In der Praxis haben sich die Synchronisationseinstellungen der App als zu groß herausgestellt. Die App speichert Änderungen alle 40 Sekunden. Wenn lokal nichts geändert wird, werden Remote-Änderungen sogar nur alle 10 Minuten durchgeführt. Der folgende Prompt führt direkt zum Ziel, obwohl ich Claude keinerlei Informationen gebe, wo sich die relevanten Einstellungen befinden.
Prompt: change the sync settings; I want to write changes after 20 seconds, read remote changes every 30 seconds
Die UI der App ist in einer TabView über drei Tabs verteilt. Ich möchte, dass die App auch bei jedem Tab-Wechsel eine Synchronisation durchführt. Wiederum findet der Claude Agent sofort die richtige Stelle im Code und baut dort einen asynchronen Aufruf der Sync-Methode ein.
Prompt: I also want to sync on every tab change.
Claude Agent führt mühelos Änderungen in dem einigermaßen komplexen Projekt durch
Prompt: I want the app to also sync when it is disabled (switch to another app). There is already code for this, but it does not work reliable.
Claude Agent verbessert den Code entsprechend.
Prompt: update the version to 1.0.2
Prompt: ok. can you also update it in the target settings?
Hier kommt Claude an seine Grenzen. Er findet zwar eine Zeichenkette im Code, die er von 1.0.1 auf 1.0.2 ändert. Aber die Xcode-Einstellungen Target / Identity / Bundle Identifier kann es nicht ändern und bittet darum, diesen Schritt selbst zu erledigen.
Meine relativ einfachen Prompts verschleiern, wie weit Agentic Coding geht. Paul Hudson geht in seinem YouTube-Video aufs Ganze und beginnt mit einem Prompt, um eine Schach-Spiel-App zu programmieren. Eine viertel Stunde später ist die App soweit fertig, dass ein erstes Spiel möglich ist. Derartige Mammut-Prompts sind aber selten zweckmäßig. Gehen Sie Schritt für Schritt vor (wobei ein Schritt durchaus die Implementierung eines neuen Features sein kann), testen Sie die App, führen Sie einen Commit durch!
Xcode vs. Claude Code
Apple hat sich mit der Integration von KI-Tools in Xcode viel Zeit gelassen. Außerhalb des Apple-Universums hat sich mehr bewegt. Der aus meiner Sicht gerade spannendste Weg zur Programmierung von Swift-Apps ist heute das Command Line Interface (CLI) Claude Code.
Die Vorgehensweise sieht so aus: Sie erzeugen/laden mit Xcode Ihr Projekt. Gleichzeitig öffnen Sie ein Terminal, wechseln in das Projektverzeichnis und starten dort Claude Code. Durch Prompts weisen Sie Claude Code an, welche Funktionen es entwickeln soll. Xcode bleibt offen, Sie verwenden die IDE aber nicht (oder nur in Ausnahmefällen) zum Programmieren, sondern dazu, den von Claude Code produzierten Code zu lesen und die resultierende App zu testen bzw. auszuprobieren.
Diese Vorgehensweise ist ungewohnt, aber effizient. Manche Entwickler sind der Ansicht, der größte Vorteil moderner KI-Tools bestünde darin, dass Xcode nicht oder zumindest nur noch am Rande benötigt wird.
Im Vergleich zu den integrierten KI-Tools in Xcode bietet Claude Code diverse Zusatzfunktionen. Enorm hilfreich ist die Möglichkeit, Skills und MCP-Server zu nutzen. Das für mich wichtigste Feature ist aber der Planungsmodus (Ein-/Ausschalten mit Shift+Tab): Er gibt Ihnen die Möglichkeit, ein neues Feature in Ruhe zu planen, ohne den Code dabei anzurühren. Erst wenn Sie mit dem von Claude Code präsentiertem Plan vollständig zufrieden sind, beginnen Sie mit der Realisierung.
Erfreulicherweise unterstützt Xcode ab Version 26.3 auch externe KI-Tools und stellt diesen via MCP dieselben Funktionen wie internen KI-Tools zur Verfügung. Dazu müssen Sie in den Xcode-Einstellungen Intelligence / Allow external agents to use Xcode tools aktivieren. Die Kommandos, um den Xcode-Server in Claude Code bzw. in Codex einmalig einzurichten, sehen so aus (Dokumentation von Apple):
Damit der Aufruf von mcpbridge funktioniert, muss in den Xcode-Einstellungen unter Locations die richtige Xcode-Version eingestellt sein. Bei mir war der Eintrag ursprünglich leer (keine Ahnung warum), der MCP-Aufruf scheiterte deswegen.
Achten Sie auf die richtige Einstellung der Option »Command Line Tools«!
Wenn Claude Code oder ein anderes externes KI-Tool MCP-Funktionen nutzen will, müssen Sie das vorher bewilligen.
Bestätigung des MCP-Verbindungsaufbaus
Sind alle Voraussetzungen erfüllt, schreiben Sie die Prompts in Claude Code und verwenden Xcode nur noch, um den Code anzusehen bzw. Ihre App zu testen.
Claude Code im Terminal unten hat eine Todo-App programmiert. Claude Code nutzt MCP, um Xcode-Funktionen aufzurufen.
Sonstiges
Auch Xcode 26.3 verwendet Swift 5 per Default. Wenn Sie Swift 6 wünschen, müssen Sie die Build Settings ändern. (Update 31.3.2026: Auch Xcode 26.4 bleibt bei Swift 5.)
Der in Xcode 26 eliminierte Attribute Inspector ist nicht zurückgekommen. Das gilt auch für diverse andere UI-Elemente (z.B. die Refactor-Kommandos Extract Subview oder Embed in Xxx), die es früher in Xcode gab und die mit Version 26 verschwunden sind.
Die aktuelle Swift-Version lautet — unverändert seit September 2025 — 6.2. (Genau genommen sind wir bei 6.2.4, aber es gibt seit einem halben Jahr keine nennenswerten Neuerungen.)
https://www.youtube.com/live/sc6pvW6vQzA (zweistündiges Video von Paul Hudson, zwar mit einigem Leerlauf, aber dennoch empfehlenswert; behandelt auch Claude Code)
Mozilla hat mit Anthropic zusammengearbeitet, um Firefox sicherer zu machen. Innerhalb von nur zwei Wochen hat die KI von Anthropic 22 bislang unbekannte Sicherheitslücken gefunden, davon 14 schwerwiegende. Die Sicherheitslücken wurden durch Mozilla bereits geschlossen.
Wie Anthropic und Mozilla bekannt gegeben haben, hat man zusammengearbeitet, um Firefox durch den Einsatz Künstlicher Intelligenz (KI) sicherer zu machen. Das Resultat sind zahlreiche behobene Sicherheitslücken und Fehler in Firefox 148.
Generell hätten KI-gestützte Fehlerberichte eine gemischte Erfolgsbilanz und Skepsis sei angebracht, so Mozilla. Denn zu viele Meldungen hätten schon zu Fehlalarmen und einer zusätzlichen Belastung für Open-Source-Projekte geführt. Die Erfahrung mit dem Frontier Red Team von Anthropic sei aber eine andere gewesen.
Anthropic hat mit Hilfe seines Modells Claude Opus 4.6 Sicherheits-Schwachstellen in der JavaScript-Engine von Firefox gefunden und sich damit an Mozilla gewandt. Entscheidend war, dass Anthropic direkt minimale Testfälle bereitstellte, sodass Mozilla diese schnell reproduzieren konnte. Innerhalb weniger Stunden konnte Mozilla damit beginnen, Korrekturen zu integrieren, und eine enge Zusammenarbeit wurde gestartet, um dieselbe Technik auf die gesamte Codebasis von Firefox anzuwenden. Nach zwei Wochen wurden 22 Sicherheitslücken identifiziert, von denen Mozilla 14 als kritisch eingestuft hat, und alle in Firefox 148 behoben. Darüber hinaus wurden über 90 weitere Bugs mit Hilfe von Anthropic gefunden, die größtenteils auch schon behoben sind.
Firefox wurde über Jahrzehnte hinweg einigen der umfangreichsten Fuzzing-Tests, statischen Analysen und regelmäßigen Sicherheitsüberprüfungen unterzogen. Trotzdem konnte Claude Opus 4.6 viele bisher unbekannte Fehler aufdecken. Mit dieser Erkenntnis hat Mozilla damit begonnen, KI-gestützte Analysen in die internen Sicherheitsabläufe zu integrieren, um auch in Zukunft proaktiv Schwachstellen finden und beheben zu können, bevor Angreifer dies tun.
Unter dem internen Projektnamen „Nova” arbeitet Mozilla einer Modernisierung der Benutzeroberfläche von Firefox. Ich gebe weltweit als erstes Einblicke in das neue Firefox-Design.
Firefox hat im Laufe der Jahre schon ein paar neue Designs gesehen. Im Jahr 2014 wurde unter dem internen Projektnamen „Australis” die Firefox-Oberfläche neu gestaltet, 2017 kam „Photon“ und im Jahr 2021 folgte schließlich „Proton”. Das neue Firefox-Design, an dem Mozilla derzeit arbeitet, hört auf den Namen „Nova”. In welcher Firefox-Version das neue Design Einzug erhalten wird, ist zu diesem Zeitpunkt noch nicht bekannt. Die Entwicklungsarbeiten stehen noch ganz am Anfang.
Hinweis: Im Folgenden sind von Mozilla nicht offiziell vorgestellte Mockups zu sehen. Aussehen und Funktionalität der tatsächlichen Implementierung können am Ende abweichen. Jedoch ist davon auszugehen, dass die Mockups in jedem Fall die angedachte Design-Richtung zeigen.
Charakteristisch für das Nova-Design von Firefox sind vor allem die starken Rundungen. Nicht nur Tabs und die Adressleiste sind sehr viel runder als bisher. Der obere Bereich mit der Tableiste und Navigationssymbolleiste bildet eine abgerundete Einheit, ebenso wie der Sidebar-Launcher und auch der Content-Bereich der Website sowie Elemente auf der Firefox-Startseite.
Während alle Flächen bislang einfarbig waren, setzt Mozilla mit Nova teilweise auf dezente Verläufe. Auffällig in den Mockups ist auch eine Tendenz ins Violette. Es ist aber auch nicht auszuschließen, dass der Farbakzent durch das Theme oder eine Einstellung beeinflusst wird. So zeigt einer der Screens eine minzgrüne Firefox-Startseite mit einer daran angepassten Farbgebung der Browseroberfläche.
So sieht das Nova-Design mit vertikalen Tabs anstelle der horizontalen Tableiste aus:
Die folgenden Screens zeigen noch einmal das helle Theme mit geöffnetem Firefox-Menü, das dunkle Theme mit zwei Tabs nebeneinander (einem Feature, an dem Mozilla ebenfalls gerade arbeitet) sowie ein privates Fenster.
Ebenfalls interessant: Einen kompakten Modus, in welchem die Oberfläche weniger Platz benötigt, besitzt Firefox schon seit vielen Jahren. Allerdings wird dieses Feature nicht mehr offiziell unterstützt und kann nur noch über eine versteckte Option aktiviert werden. Die Mockups zeigen aber explizit auch einen kompakten Modus sowie eine sichtbare Einstellung dafür – dies spricht dafür, dass Mozilla einen solchen Modus in Zukunft wieder offiziell unterstützen könnte.
Firefox 148 bringt eine überarbeitete Symbolleiste, welche nicht nur moderner aussieht. Diese bietet auch Platz für eine zusätzliche Schaltfläche, um direkt einen neuen Tab zu öffnen, statt dafür erst die Übersicht der Tabs öffnen zu müssen. Außerdem kann in den Einstellungen ein neues Symbolleisten-Layout ausgewählt werden, bei dem die Adressleiste die volle Breite einnimmt und dafür dann insgesamt fünf statt drei Schaltflächen unter der Adressleiste angezeigt werden. Mit einem zukünftigen Update wird die Schaltfläche, die aktuell zum Öffnen eines neuen Tabs genutzt wird, anpassbar sein, um stattdessen beispielsweise schnellen Zugriff auf die Übersetzungsfunktion oder die Zurück-Navigation zu haben.
Diese Neuerung wird schrittweise im Laufe der kommenden Wochen ausgerollt werden.
Neue Tabübersicht
Neu ist auch die Darstellung der Tabübersicht, dessen Neu-Implementierung ebenfalls noch nicht in Firefox 148 abgeschlossen ist. So wird hier mit einem zukünftigen Update noch eine Suchfunktion integriert werden.
Diese Neuerung wird schrittweise im Laufe der kommenden Wochen ausgerollt werden.
Sonstige Neuerungen von Firefox 148 für Android
Im Kontextmenü, welches nach einem langen Drücken auf einen Link erscheint, gibt es jetzt eine neue Option, um den Link-Text zu kopieren.
Wird bei einer geöffneten Website auf das Schildsymbol in der Adressleiste getippt, können über ein weiteres Tippen auf die Zeile zur Verbindungssicherheit nun detaillierten Informationen über das Sicherheits-Zertifikat der jeweiligen Website betrachtet werden.
Verbesserungen aus der Ferne wurden von der Telemetrie-Anforderung entkoppelt. Damit können nun auch ohne aktivierte Telemetrie Verbesserungen zwischen den Updates empfangen werden. Beides lässt sich unabhängig voneinander in den Firefox-Einstellungen aktivieren oder deaktivieren.
Die Nachfrage zur Bewertung von Firefox im Google Play Store, die nach einiger Zeit der Nutzung von Firefox erscheint, wurde überarbeitet.
Dazu kommen weitere neue Plattform-Features der aktuellen GeckoView-Engine, diverse Fehlerbehebungen, geschlossene Sicherheitslücken sowie Verbesserungen unter der Haube.
Mozilla hat Firefox 148 für Windows, Apple macOS und Linux veröffentlicht. Dieser Artikel fasst die wichtigsten Neuerungen zusammen – wie immer auf diesem Blog weit ausführlicher als auf anderen Websites.
Künstliche Intelligenz (KI) ist ein Thema, welches mittlerweile omnipräsent ist. Die einen lieben es, andere möchten am liebsten gar nichts damit zu tun haben. Sämtliche KI-Funktionen in Firefox waren vom ersten Tag an optional. Außerdem setzt Mozilla für eine verbesserte Privatsphäre bevorzugt auf lokale KI anstelle von Cloud-basierten KI-Lösungen.
Um die Verwaltung von KI-Funktionen noch einfacher zu machen, hat Mozilla die Firefox-Einstellungen um einen zusätzlichen Bereich mit der Bezeichnung „KI-Einstellungen” erweitert. Dieser neue Bereich bietet einen Ort, um alle KI-Funktionen zentral zu steuern. Außerdem gibt es für jede Einstellung einen kurzen Erklärungstext sowie einen Link mit detaillierten Informationen.
Darüber hinaus bietet Firefox einen globalen Schalter zum Ein- und Ausschalten von KI-Funktionen an – welcher auch alle zukünftigen KI-Features abschaltet. Andere Medien hatten in diesem Zusammenhang häufig von einem sogenannten „Kill Switch” gesprochen.
Firefox 148 bietet Einstellungen für fünf KI-basierte Funktionen an: Übersetzungen von Websites in andere Sprachen, die Generierung von Alternativtexten beim Hinzufügen von Bildern in PDF-Dateien, um deren Barrierefreiheit zu verbessern, Vorschläge für andere Tabs sowie Beschriftungen für Tab-Gruppen, KI-Zusammenfassungen für die Link-Vorschau sowie diverse Chatbots in der Sidebar. Nutzer, die Firefox auf Deutsch nutzen, sehen lediglich Optionen für die Funktionen, die für Nutzer in deutscher Sprache verfügbar sind, da die anderen Optionen für entsprechende Nutzer ohnehin nicht relevant sind.
Mehr Sicherheit für Firefox-Nutzer
Auch in Firefox 148 wurden wieder mehrere Sicherheitslücken geschlossen. Alleine aus Gründen der Sicherheit ist ein Update auf Firefox 148 daher für alle Nutzer dringend empfohlen.
Sonstige Endnutzer-Neuerungen in Firefox 148
Die Backup-Funktion steht nun auch für Nutzer von Windows 10 zur Verfügung, die Firefox so konfiguriert haben, dass Browserdaten beim Beenden gelöscht werden. Dabei werden die Daten, die beim Beenden von Firefox gelöscht werden sollen, vom Backup ausgeschlossen.
Neben einer vollständigen Website-Übersetzung, welche vollständig lokal arbeitet, bietet Firefox auch die Möglichkeit einer freien Textübersetzung via about:translations an. Diese Seite nutzt nun auch die Oberflächen-Sprache von Firefox, statt immer auf Englisch zu sein, und hat eine Schaltfläche zum Leeren des Feldes für den Originaltext sowie eine Schaltfläche zum Kopieren der Übersetzung erhalten. Außerdem werden jetzt auch Übersetzungen von und nach traditionellem Chinesisch sowie ins Vietnamesische unterstützt.
Verbesserungen aus der Ferne wurden von der Telemetrie-Anforderung entkoppelt. Damit können nun auch ohne aktivierte Telemetrie Verbesserungen zwischen den Updates empfangen werden. Beides lässt sich unabhängig voneinander in den Firefox-Einstellungen aktivieren oder deaktivieren.
Hintergrundbilder auf der Firefox-Startseite funktionieren jetzt auch für Tabumgebungen.
Die Screenreader-Unterstützung für in PDF-Dateien eingebettete mathematische Formeln wurde verbessert.
Verbesserungen der Webplattform
Firefox 148 ist der erste Browser, der die neue Sanitizer API unterstützt, um nicht vertrauenswürdigen HTML-Code zu bereinigen, bevor er in das DOM eingefügt wird.
Die Trusted Types API stellt sicher, dass Eingaben eine vom Benutzer festgelegte Transformationsfunktion durchlaufen haben, bevor sie an eine API weitergeleitet werden, die diese Eingaben möglicherweise ausführt.
Das paste-Kommando kann nun mit Document.execCommand() in Webinhalten und nicht mehr nur in Erweiterungen verwendet werden. Dies unterliegt denselben Sicherheitsüberlegungen wie die Clipboard-API, z. B. der Notwendigkeit einer vorübergehenden Aktivierung und der Bestätigung durch den Benutzer beim Einfügen von Cross-Origin-Inhalten.
Firefox unterstützt nun die CSS-Funktion shape(), mit der reaktionsfähige Freiformformen in Eigenschaften definiert werden können. Im Gegensatz zu path() verwendet sie die Standard-CSS-Syntax, unterstützt verschiedene CSS-Einheiten und erlaubt mathematische Funktionen.
Die Durchstreichung von Text konnte auf hochauflösenden Bildschirmen im Vergleich zu anderen Browsern zu fein dargestellt werden, was in Firefox 148 verbessert worden ist.
Service Worker ermöglichen jetzt auch die Ausführung von WebGPU im Hintergrund, was besonders für Erweiterungen und andere Seiten nützlich ist, die Ressourcen sinnvoll über mehrere Tabs und Zeiträume hinweg gemeinsam nutzen können.
Die Unterstützung für asm.js wurde deaktiviert, da mit WebAssembly seit langer Zeit eine bessere Nachfolge-Technologie zur Verfügung steht.
Dies war nur eine Auswahl. Weitere Verbesserungen der Webplattform und für Erweiterungsentwickler lassen sich wie immer in den MDN Web Docs nachlesen.
Mozilla stellt die Unterstützung von Firefox für die veralteten Betriebssysteme Windows 7, Windows 8, macOS 10.12, macOS 10.13 sowie macOS 10.14 in diesem Monat offiziell ein. Weitere Verschiebungen der Frist soll es nicht geben.
Im September 2024 hatte Mozilla die Verlängerung der Unterstützung von Firefox ESR 115 für die Betriebssysteme Windows 7, Windows 8, macOS 10.12, macOS 10.13 sowie macOS 10.14 über das ursprünglich geplante Lebensende hinaus bis März 2025 angekündigt. Nach einer ersten Verlängerung bis September 2025 folgte dann nochmal eine weitere Verlängerung der Lebenszeit von Firefox ESR 115, nach welcher kommende Woche, am 24. Februar 2026, mit Firefox ESR 115.33 das finale Update für diese veralteten Betriebssysteme erscheinen wird.
In den entsprechenden Support-Dokumenten für Windows und macOS wurde nun eine kleine, aber entscheidende textliche Anpassung vorgenommen. Hieß es bislang, dass Firefox ESR 115 auf diesen Systemen bis mindestens Ende Februar 2026 unterstützt und die Situation dann neu bewertet werden wird, steht nun geschrieben, dass nach Ende Februar 2026 keine weiteren Updates mehr erscheinen werden.
Firefox 116 und höher kann auf diesen Betriebssystemen nicht genutzt werden. Nutzer müssen also ein aktuelleres Betriebssystem einsetzen, um weiterhin Sicherheits-Updates für Firefox zu erhalten. Natürlich ist schon aus Gründen der Sicherheit des Betriebssystems selbst die Verwendung eines aktuellen Betriebssystems dringend anzuraten.
Nach aktuellem Stand nutzen noch gut acht Prozent der Firefox-Nutzer Windows 7 oder Windows 8. Dies stellt keine signifikante Veränderung gegenüber der letzten Verlängerung der Frist dar. Microsoft selbst hatte die Unterstützung der alten Windows-Versionen bereits im Januar 2020 eingestellt. Firefox-Konkurrent Google Chrome bietet seit Februar 2023 keine Updates mehr für diese Betriebssysteme an.
Für Nutzer des E-Mail-Programms Thunderbird hat diese Entscheidung keine Auswirkungen. Thunderbird hat die Unterstützung für Windows 7, Windows 8, macOS 10.12, macOS 10.13 und macOS 10.14 bereits im Jahr 2024 eingestellt.
Mozilla hat Firefox 147.0.4 für Windows, macOS und Linux veröffentlicht und damit eine Sicherheitslücke in der libvpx-Bibliothek behoben, welche zum Encoding und Decoding von VP9-Videos genutzt wird.
Für Nutzer, welche ihr Profil manuell an einen anderen Ort verschoben oder einen Ordner umbenannt haben, konnte es dazu kommen, dass die Firefox-Startseite nicht mehr funktionierte.
Außerdem gab es, wie schon in Firefox 145.0.2, eine Webkompatibilitäts-Intervention für die Website Formula1 TV, welche erneut nicht mehr für Firefox-Nutzer funktionierte.
Die Lösung ist die Eigenschaften der Virtuellen Maschine aufzurufen, hier die Volle Auflösung des Retina Display verwenden zu aktivieren und nach dem Anmelden im Kali Linux Desktop Kali HiDPI Mode zu wählen. Nach einem Restart sollte alles beim alten sein. Nach dem aus sicherheitsupdategründen erzwungenen Upgrade auf macOS 26.3 mit einem anschließenden Update auf VMware ... Weiterlesen
Es ist grundsätzlich sinnvoll, den Gesundheitszustand einer Festplatte im Blick zu behalten. Wie man fehlerhafte Sektoren erkennt, habe ich im Artikel „Überprüfung auf fehlerhafte Sektoren“ erläutert. Eine weitere Möglichkeit bietet die Self-Monitoring, Analysis and Reporting Technology, kurz S.M.A.R.T., die es ermöglicht, HDDs und SSDs zu überwachen. Diese Daten können je nach Ausstattung der Festplatten und des Betriebssystems ausgelesen werden.
Hierfür wird auf Linux-Systemen das Tool smartmontools benötigt. Die ausgelesenen Daten liefern wertvolle Hinweise auf mögliche Probleme mit dem Medium – bevor es zu einem Ausfall kommt.
Installation
Unter Debian-basierten Systemen ist smartmontools in den Paketquellen enthalten und schnell installiert:
sudo apt install smartmontools
S.M.A.R.T.-Werte abfragen
Um die aktuellen Werte eines Laufwerks auszulesen, genügt folgender Befehl:
sudo smartctl -a /dev/sdX
/dev/sdX steht dabei stellvertretend für das jeweilige Laufwerk, etwa /dev/sda oder /dev/nvme0n1 für NVMe-SSDs. Die Option -a sorgt dafür, dass alle verfügbaren Informationen ausgegeben werden.
Wichtig: sdX ist ein Platzhalter und muss durch die tatsächliche Bezeichnung des zu prüfenden Laufwerks ersetzt werden.
Was die Ausgabe verrät
Die Ausgabe von smartctl ist recht umfangreich und auf den ersten Blick etwas unübersichtlich. Neben allgemeinen Informationen wie Modell, Firmware-Version und Seriennummer finden sich dort auch die sogenannten S.M.A.R.T.-Attribute. Diese zeigen unter anderem wichtige Messwerte wie:
den allgemeinen Gesundheitszustand (SMART overall-health self-assessment test result)
die Temperatur des Laufwerks (Temperature)
die Verfügbare Reserve (Available Spare)
den Reserve-Schwellenwert (Available Spare Threshold)
die verbrauchte Lebensdauer (Percentage Used)
die gelesenen Dateneinheiten (Data Units Read)
die geschriebenen Dateneinheiten (Data Units Written)
Ein Beispiel:
sudo smartctl -a /dev/nvme0n1
...
SMART overall-health self-assessment test result: PASSED
Temperature: 45 Celsius
Available Spare: 100%
Available Spare Threshold: 50%
Percentage Used: 4%
Data Units Read: 37.885.790 [19,3 TB]
Data Units Written: 28.019.142 [14,3 TB]
...
Für eine kurze Abfrage des Gesundheitszustands reicht hingegen:
sudo smartctl -H /dev/sdX
Ein Beispiel:
sudo smartctl -H /dev/nvme0
...
SMART overall-health self-assessment test result: PASSED
...
Fazit
Mit smartctl hat man unter Linux ein mächtiges Werkzeug zur Hand, um die Gesundheit von Laufwerken zu prüfen. Gerade bei älteren Festplatten lohnt sich ein regelmäßiger Blick auf die S.M.A.R.T.-Werte. Im Ernstfall können sie vor Datenverlust warnen – und geben den entscheidenden Anstoß, ein Backup nicht weiter aufzuschieben.
Mozilla hat Firefox 147.0.3 für Windows, macOS und Linux veröffentlicht und liefert damit zahlreiche Verbesserungen für eine gesteigerte Webkompatibilität aus. Dies betrifft vor allem das sogenannte Anchor Posititioning in CSS, aber auch die Sticky-Positionierung in CSS, CSS Flexbox, die Navigation-API, URLPattern-API sowie die Wiedergabe von HEVC-Videos.
Ein Problem wurde behoben, bei dem die Entwicklerwerkzeuge möglicherweise nicht mehr geöffnet werden konnten, nachdem ein Element im Inspektor ausgewählt und eine Seite mit Cross-Origin-iFrames neu geladen wurde.
Es wurde ein Problem behoben, bei dem der Abschnitt mit den Einstellungen für den DNS-over-HTTPS-Anbieter als leeres Feld angezeigt wurde, sodass Benutzer die aktuellen Einstellungen nicht sehen oder ändern konnten.
Ein Problem auf Windows-Systemen mit einer großen Anzahl installierter Schriftarten wurde behoben, bei dem Teile der Firefox-Benutzeroberfläche fehlerhafte Zeichen anstelle von lesbarem Text anzeigen konnten.
Ein Problem unter Linux wurde behoben, bei dem UI-Widgets unter Umständen an der falschen Position angezeigt werden konnten.
Wurde Firefox unter Windows mit einem dunklen Design genutzt, konnte es beim Start zu einem hellen Flackern der Titelleiste kommen.
Auf macOS konnte eine Erweiterung oder das Verändern einer bestimmten versteckten Option dafür sorgen, dass Firefox nicht mehr benutzbar war.
Mehrere potenzielle Absturzursachen wurden behoben.
Ein Problem wurde behoben, welches zu einer fehlgeschlagenen Kerberos-Authentifizierung führen konnte.
Es wurde zusätzliches Logging und Telemetrie zum Verstehen von Standortfehlern eingeführt, was in Zusammenhang damit steht, die Zuverlässigkeit der Geolocation-API durch Verwendung der aktuellen System-Schnittstellen zu verbessern.
Zur Unterstützung von Experimenten wurde die Möglichkeit geschaffen, innerhalb der ersten 48 Stunden der Firefox-Nutzung andere Standard-Verknüpfungen auf der Firefox-Startseite anzuzeigen, als danach.