Chrome und Firefox erreichen bald Hauptversion 100

Änderungen am User-Agent-String, Strategien, mit denen Chrome und Firefox die Auswirkungen reduzieren, und Möglichkeiten, wie Sie helfen können

Chrome und Firefox werden in wenigen Monaten Version 100 erreichen. Dies kann zu Fehlern auf Websites führen, die auf die Identifizierung der Browserversion angewiesen sind, um die Geschäftslogik auszuführen. In diesem Beitrag erfahren Sie mehr über den zeitlichen Ablauf von Ereignissen, die Strategien, mit denen Chrome und Firefox die Auswirkungen reduzieren, und wie Sie helfen können.

User-Agent-String

User-Agent (UA) ist ein String, den Browser in HTTP-Headern senden, damit Server den Browser identifizieren können. Der String kann auch über JavaScript mit navigator.userAgent aufgerufen werden. Normalerweise ist sie so formatiert:

<browser_name>/<major_version>.<minor_version>

Die neuesten Release-Versionen von Browsern zum Zeitpunkt der Veröffentlichung dieses Posts sind beispielsweise:

  • Chrome: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36
  • Firefox: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:96.0) Gecko/20100101 Firefox/96.0
  • Safari: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Safari/605.1.15

Hauptversion 100 – dreistellige Versionsnummer

Die Hauptversion 100 ist sowohl für Chrome als auch für Firefox ein großer Meilenstein. Es kann auch zu Websiteproblemen führen, wenn wir von einer zweistelligen zu einer dreistelligen Versionsnummer wechseln. Webentwickler verwenden verschiedene Methoden zum Parsen dieser Strings, von benutzerdefiniertem Code bis hin zur Verwendung von User-Agent-Parsing-Bibliotheken, mit denen dann die entsprechende Verarbeitungslogik bestimmt werden kann. Der User-Agent und alle anderen Mechanismen zur Versionsmeldung melden bald eine dreistellige Versionsnummer.

Version 100 – Zeitpläne

Die Browser der Version 100 werden zuerst in experimentellen Versionen (Chrome Canary, Firefox Nightly), als Betaversionen und schließlich in der stabilen Version veröffentlicht.

Browser Zeitplan
Chrome (Veröffentlichungszeitplan) 29. März 2022
Firefox (Veröffentlichungszeitplan) 3. Mai 2022

Warum kann eine dreistellige Versionsnummer problematisch sein?

Als Browser vor etwas mehr als 12 Jahren erstmals Version 10 erreichten, wurden beim Parsen der User-Agent-Bibliotheken viele Probleme festgestellt, da die Hauptversionsnummer von einer Ziffer auf zwei ging.

Ohne eine einzige Spezifikation zu befolgen, haben verschiedene Browser unterschiedliche Formate für den User-Agent-String und das websitespezifische Parsing des User-Agents. Es ist möglich, dass einige Parsing-Bibliotheken hartcodierte Annahmen oder Fehler enthalten, die keine dreistelligen Hauptversionsnummern berücksichtigen. Viele Bibliotheken haben die Parsing-Logik verbessert, wenn Browser zu zweistelligen Versionsnummern gewechselt sind, sodass ein Erreichen des dreistelligen Meilensteins voraussichtlich weniger Probleme verursachen wird. Mike Talor, Entwickler des Chrome-Teams, hat gängige UA-Parsing-Bibliotheken durchgeführt und dabei keine Probleme festgestellt. Beim Ausführen von Chrome-Experimenten vor Ort wurden einige Probleme festgestellt, die derzeit bearbeitet werden.

Was tun Browser dagegen?

Sowohl Firefox als auch Chrome haben Tests durchgeführt, bei denen die aktuellen Versionen des Browsers die Hauptversion 100 angeben, um mögliche Websiteschäden zu erkennen. Dies hat einige gemeldete Probleme verursacht, von denen einige bereits behoben wurden. Diese Tests laufen bis zur Veröffentlichung von Version 100.

Es gibt auch alternative Abwehrstrategien für den Fall, dass die Veröffentlichung von Version 100 für stabile Kanäle mehr Schaden an Websites verursacht als erwartet.

Chrome-Risikominderung

In Chrome besteht der Sicherungsplan darin, ein Flag zu verwenden, um die Hauptversion bei 99 einzufrieren und die tatsächliche Hauptversionsnummer in der Nebenversion des User-Agent-Strings anzugeben (der Code ist bereits gelandet).

Die im User-Agent-String angegebene Chrome-Version entspricht dem Muster <major_version>.<minor_version>.<build_number>.<patch_number>.

Wenn der Sicherungsplan verwendet wird, würde der User-Agent-String so aussehen:

99.101.4988.0

Chrome führt außerdem Tests durch, um sicherzustellen, dass die Meldung eines dreistelligen Werts im Abschnitt „Nebenversion“ des Strings nicht zu Fehlern führt, da die Nebenversion im User-Agent-String von Chrome schon lange 0 gemeldet hat. Das Chrome-Team entscheidet anhand der Anzahl und Schwere der gemeldeten Probleme, ob die Sicherungsoption verwendet wird.

Firefox-Verminderung

Bei Firefox hängt die Strategie davon ab, wie wichtig der Fehler ist. Für Firefox gibt es einen Mechanismus zur Websiteinteraktion. Das Webcompat-Team von Mozilla kann mit diesem Mechanismus defekte Websites in Firefox schnell reparieren. Wenn Sie about:compat in die URL-Leiste von Firefox eingeben, sehen Sie, was derzeit korrigiert wird. Wenn bei einer Website Probleme mit der Hauptversion 100 in einer bestimmten Domain auftreten, können Sie zur Behebung des Problems die Version 99 verwenden.

Bei weit verbreiteten Fehlern kann die Hauptversionsnummer eingefroren werden. Dann gibt es verschiedene mögliche Strategien mit Vor- und Nachteilen. Mozilla kann die echte Versionsnummer als Nebenversionsnummer senden, den String ganz unverändert einfrieren oder die tatsächliche Versionsnummer über andere Parameter senden.

Jede Strategie, die den User-Agent-String komplexer macht, hat großen Einfluss auf das System. Gemeinsam können wir ein weiteres skurriles Verhalten vermeiden.

Was können Sie tun, um zu helfen?

In Chrome und Firefox Nightly können Sie den Browser so konfigurieren, dass er sofort die Version 100 meldet und Probleme meldet.

Chrome so konfigurieren, dass die Hauptversion als 100 gemeldet wird

  1. Öffnen Sie chrome://flags/#force-major-version-to-100.
  2. Legen Sie die Option auf Enabled fest.

Konfigurieren Sie Firefox Nightly so, dass die Hauptversion als 100 gemeldet wird.

  1. Öffnen Sie das Einstellungsmenü von Firefox Nightly.
  2. Suchen Sie nach "Firefox 100" und aktivieren Sie dann die Option "Firefox 100 User-Agent String".

Testen und Berichte einreichen

  • Wenn Sie ein Website-Administrator sind, testen Sie sie mit Chrome und Firefox 100. Überprüfen Sie den Parsing-Code Ihres User-Agents und die Bibliotheken und achten Sie darauf, dass dreistellige Versionsnummern verarbeitet werden können. Wir haben einige Muster zusammengestellt, die aktuell nicht funktionieren.
  • Wenn Sie eine User-Agent-Parsing-Bibliothek entwickeln, fügen Sie Tests hinzu, um Versionen zu parsen, die größer als und gleich 100 sind. Unsere ersten Tests haben gezeigt, dass aktuelle Versionen von Bibliotheken dies korrekt verarbeiten können. Das Web hat jedoch eine lange Legacy-Version. Wenn Sie also alte Versionen von Parsing-Bibliotheken haben, ist es an der Zeit, auf Probleme zu prüfen und schließlich ein Upgrade durchzuführen.
  • Wenn Sie im Web surfen und Probleme mit der Hauptversion 100 feststellen, melden Sie dies auf webcompat.com.