Python-Bibliothek Bleach erreicht Version 6 – und sagt leise Goodbye

Die Library zum Bereinigen von HTML-Inhalten aktualisiert auf Python 3.11 und behebt Probleme im Umgang mit html5lib. Bleach gilt ab sofort aber als deprecated.

In Pocket speichern vorlesen Druckansicht
Python-Bibliothek Bleach erreicht Version 6 – und sagt leise Goodbye

(Bild: Shutterstock)

Lesezeit: 2 Min.
Von
  • Matthias Parbel

Die Python-Bibliothek Bleach aus der Mozilla-Community, die darauf ausgelegt ist, HTML-Inhalte aus potenziell unsicheren Quellen zu bereinigen, liegt in Version 6.0.0 vor. Neben Bugfixes und der Aktualisierung auf Python 3.11 behebt das Update aber vor allem einige Probleme im Umgang mit der zugrundeliegenden HTML-Parsing-Library html5lib. Wie Bleach-Entwickler Will Kahn-Greene in seinem Blogbeitrag zur Ankündigung des neuen Major Release jedoch betont, wird Bleach 6.0.0 das voraussichtlich letzte Update der Python-Bibliothek sein: Bleach gilt nun offiziell als veraltet (deprecated).

Die Python-Library html5lib zum Parsen von HTML ist bereits seit Bleach 3.0 integraler Bestandteil. Das Projekt html5lib wird aber seit geraumer Zeit nicht mehr aktiv weiterentwickelt und gepflegt. Da sich unter diesen Voraussetzungen auch die Pflege von Bleach immer schwieriger gestaltete, hatte Kahn-Greene zunächst verschiedene Maßnahmen erwogen, um die Aktualität von html5lib sicherzustellen. Sämtliche Überlegungen, die Library selbst weiterzuentwickeln oder einen neuen HTML-Parser zu erstellen, hätten jedoch zu noch mehr Arbeitsaufwand für die Pflege von Bleach beigetragen. Da zudem keine geeignete Alternative zu html5lib existiere, hat Kahn-Greene beschlossen: "Die Reise für Bleach ist vorbei."

Damit endet die aktive Weiterentwicklung von Bleach. Künftig werde er lediglich noch Security-Updates liefern, Aktualisierungen für neue Python-Versionen vornehmen und schwerwiegende Fehler beheben. Diese Wartungsarbeiten werde Kahn-Greene voraussichtlich noch für mindestens ein Jahr übernehmen – später dann aber ebenfalls einstellen.

Mit Bleach 6.0 erhalten Entwicklerinnen und Entwickler jetzt aber nochmals ein Update, das Support für Python 3.11 und eine Reihe von Fehlerbereinigungen liefert. Behoben wurden unter anderem API-Unregelmäßigkeiten in BleachSanitizerFilter, die auf die inkonsequente Verwendung von elements anstelle von tags zurückzuführen waren. In Version 6.0 kommen nun tags einheitlich überall zum Einsatz.

Einige Breaking Changes ergeben sich beim Update auf das neue Release dadurch, dass die Parameter tags und protocols in Verbindung mit bleach.clean, bleach.sanitizer.Cleaner und bleach.html5lib_shim.BleachHTMLParser nicht mehr als lists, sondern als sets angegeben werden.

Ein Überblick aller Änderungen in Bleach 6.0 findet sich im Changelog. Die Details zur Zukunft der Python-Bibliothek fasst Will Kahn-Greene in seinem Blogbeitrag zusammen.

(map)