Chrome und Firefox erreichen bald Hauptversion 100

Änderungen am User-Agent-String, Strategien von Chrome und Firefox zur Minderung der Auswirkungen und Möglichkeiten, wie Sie helfen können.

Google Chrome und Firefox wird in wenigen Monaten Version 100 erreichen. Dies kann zu Fehlern führen, auf Websites, die für die Ausführung der Geschäftslogik die Browserversion ermitteln müssen. In diesem Beitrag geht es um den zeitlichen Ablauf der Ereignisse und die Strategien, die Chrome und Firefox um die Auswirkungen zu mindern, und wie Sie helfen können.

Der User-Agent (UA) ist ein String, den Browser in HTTP-Headern senden, damit Server um den Browser zu identifizieren. Der String ist auch über JavaScript mit navigator.userAgent Das Format sieht normalerweise so aus:

<browser_name>/<major_version>.<minor_version>

z. B. die aktuellen Browserversionen zum Zeitpunkt der Veröffentlichung für diesen Beitrag:

  • 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 ein wichtiger Meilenstein für Chrome und Firefox. Es hat auch zu Fehlfunktionen von Websites führen, während wir von einer zweistelligen zu einer dreistellige Versionsnummer. Web-Entwickelnde nutzen alle möglichen Techniken, von benutzerdefiniertem Code bis hin zur Verwendung von User-Agent-Parsing-Bibliotheken mit dem dann die entsprechende Verarbeitungslogik ermittelt werden kann. Die Der User-Agent und alle anderen Funktionen zum Melden von Versionen melden bald eine dreistellige Versionsnummer.

Zeitplan für Version 100

Browser-Version 100 wird erstmals in der Testphase (Chrome Canary, Firefox Nightly), dann Betaversionen und schließlich in der stabilen Version Kanal.

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

Warum kann eine dreistellige Versionsnummer problematisch sein?

Als die Browser erstmals vor etwas mehr als 12 Jahren Version 10 erreichten, viele Probleme gefunden mit User-Agent-Parsing-Bibliotheken, da die Hauptversionsnummer Ziffern auf zwei stellen.

Ohne eine einzige Spezifikation, die Sie befolgen müssen, verschiedene Browser haben unterschiedliche Formate für den User-Agent-String und das websitespezifische Parsing des User-Agents. Es ist dass einige Parsing-Bibliotheken hartcodierte Annahmen oder Fehler enthalten, die keine dreistelligen Hauptversionsnummern berücksichtigen. Viele Bibliotheken verbesserte die Parsing-Logik bei der Umstellung von Browsern auf zweistellige Versionsnummern. das Erreichen des dreistelligen Meilensteins weniger Probleme verursachen wird. Michael Taylor, Ein Entwickler im Chrome-Team hat eine Umfrage zu gängigen UA-Parsing-Methoden durchgeführt. in denen keine Probleme auftraten. Das Ausführen von Chrome-Tests im hat Probleme aufgedeckt, an denen wir gerade arbeiten.

Was tun die Browser dagegen?

Sowohl Firefox als auch Chrome haben Experimente durchgeführt, bei denen aktuelle Versionen von dass der Browserbericht die Hauptversion 100 hat, dass die Website nicht wie erwartet funktioniert. Dies hat einige Probleme gemeldet, einige davon wurden bereits behoben. Diese Tests laufen bis zur Veröffentlichung von Version 100 weiter.

Es gibt auch Strategien zur Risikominderung für Sicherungen, falls Version 100 Die Veröffentlichung in stabilen Kanälen verursacht mehr Schäden an Websites als erwartet.

Abwehr von Chrome

In Chrome ist der Sicherungsplan die Verwendung eines Flags, um die Hauptversion bei 99 einzufrieren. und geben Sie die tatsächliche Hauptversionsnummer im User-Agent-String (der Code wurde bereits landed).

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

Wenn der Sicherungsplan eingesetzt wird, sieht der User-Agent-String so aus: dies:

99.101.4988.0

Chrome führt außerdem Tests durch, um sicherzustellen, dass ein dreistelliger Wert erfasst wird. im Teil der Nebenversion des Strings führt nicht zu einem Bruch, da der Nebenversion im User-Agent-String von Chrome hat sehr lange den Wert 0 gemeldet . Das Chrome-Team entscheidet, ob auf die Sicherungsoption umgestiegen wird. basierend auf der Anzahl und dem Schweregrad der gemeldeten Probleme.

Abwehr von Firefox

In Firefox hängt die Strategie davon ab, wie wichtig der Fehler ist. Firefox hat eine Website-Interventionsmechanismus. Das Mozilla Webcompat-Team kann mithilfe dieser Funktion Mechanismus zur Verfügung. Wenn Sie about:compat in die Firefox-URL-Leiste eingeben, sehen Sie, was wird derzeit behoben. Wenn eine Website mit der Hauptversion 100 auf einer Domain angeben, können Sie das Problem beheben, indem Sie stattdessen Version 99 senden.

Wenn der Fehler weit verbreitet ist, kann die Hauptversion eingefroren werden. Nummer. Dann gibt es verschiedene mögliche Strategien, die jeweils Vor- und Nachteile. Mozilla kann die tatsächliche Versionsnummer als Nebenversion senden. -Nummer eingeben, die Zeichenfolge unverändert einfrieren oder die tatsächliche Versionsnummer senden. über andere Parameter.

Jede Strategie, die den User-Agent-String komplexer macht, hat eine auf das Ökosystem auswirken. Lassen Sie uns zusammenarbeiten, um eine weitere skurrile verhalten.

Was können Sie tun?

In Chrome und Firefox Nightly können Sie den Browser so konfigurieren, dass das 100 herunter und melden Sie Probleme, die Ihnen auffallen.

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.

Firefox Nightly so konfigurieren, dass die Hauptversion als 100 gemeldet wird

  1. Öffnen Sie in Firefox Nightly das Menü Einstellungen.
  2. Suche nach „Firefox 100“ und aktivieren Sie dann das Kontrollkästchen "Firefox 100 User-Agent String" Option.

Berichte testen und einreichen

  • Wenn Sie Website-Betreuer sind, testen Sie Ihre Website mit Chrome. und Firefox 100. Prüfen Sie den Parsing-Code und die Bibliotheken des User-Agents. dass sie dreistellige Versionsnummern verarbeiten können. Wir haben einige der wichtigsten Muster, die derzeit nicht funktionieren.
  • Wenn Sie eine User-Agent-Parsing-Bibliothek entwickeln, fügen Sie Tests zum Parsen hinzu. Versionen größer und gleich 100. Erste Tests zeigen, dass die jüngsten Versionen der Bibliotheken richtig verarbeiten können. Das Web hat jedoch ein langes Erbe, Wenn ihr also alte Versionen von Parsing-Bibliotheken habt, Zeit, auf Probleme zu prüfen und schließlich das Upgrade durchzuführen.
  • Wenn Sie im Web surfen und Probleme mit den wichtigsten Version 100, können Sie einen Bericht auf webcompat.com einreichen.