Két évnyi fejlesztés után a Google kiadta a Brotli 1.2 verzióját, amely az egyik legelterjedtebb, nyílt forráskódú tömörítési könyvtár (compression library) a Linux rendszerek, webszerverek és böngészők világában. Az előző, 1.1-es kiadás még 2023 augusztusában jelent meg, így ez a frissítés régóta várt előrelépés a modern adattömörítés területén. A Brotli – amelyet eredetileg a webes tartalmak gyorsabb betöltésére fejlesztettek ki – ma már kulcsszerepet játszik a HTTP-kompresszió, valamint a fájlrendszer- és adatátviteli optimalizálás területén is. A 1.2-es verzió egyszerre hoz biztonsági javításokat, teljesítménybeli fejlesztéseket és kódtisztításokat, amelyek hosszú távon is biztosítják a projekt stabilitását.
Biztonsági fejlesztések – új Python API és védelmi mechanizmusok
A biztonsági fejlesztések közé tartozik a Python-kötések (Python bindings) bővítése, amely mostantól tartalmazza a Decompressor::can_accept_more_data metódust, valamint egy új output_buffer_limit paramétert a Decompressor::process függvényben. Ezek az újítások lehetővé teszik, hogy a könyvtár hatékonyabban kezelje a nem megbízható bemeneti adatokat, és megelőzze azokat a helyzeteket, amikor a tömörített állomány kicsomagolása aránytalanul nagy kimenetet eredményezhet. Ez különösen fontos webes környezetekben, ahol a Brotli gyakran találkozik felhasználói vagy külső adatokkal.
Gyorsabb működés és kisebb bináris méret
A Brotli 1.2 egyik legfontosabb újítása a statikus inicializálás (static initialization) bevezetése az enkóderben és dekóderben egyaránt. Ez a módosítás csökkenti a bináris fájlméretet, és gyorsítja az indulási időt (startup time), ami különösen előnyös nagy forgalmú webszervereken és beágyazott rendszerekben.
Emellett a tömörítés sebessége is nőtt, így a Brotli még vonzóbb alternatívát kínál a Gzip és a Zstandard mellett a modern adatátviteli folyamatokban. A fejlesztők szerint a teljesítményjavulás főként a CPU-hatékony kódoptimalizálásnak köszönhető.
Újdonságok a fejlesztői és rendszerszintű integrációban
A 1.2-es verzió számos új fejlesztői eszközt és kényelmi funkciót is hoz. Ezek közé tartozik egy új Kotlin-alapú dekóder a JVM-alapú alkalmazásokhoz, amely gyorsabb és natívabb integrációt tesz lehetővé Java környezetekben.
Megjelent továbbá egy új parancssori alias, a brcat, amellyel a felhasználók egymás után fűzött Brotli-adatfolyamokat (concatenated streams) is könnyedén dekódolhatnak. A fejlesztők bevezették a CGo-támogatást „nyers” szótárakhoz (raw dictionaries), ezzel javítva a C-alapú alkalmazásokkal való együttműködést. Emellett a Bazel build modulok is frissültek, a rendszerhez telepíthető man oldalak is kerültek, ami átláthatóbb dokumentációt biztosít a felhasználók számára.
Tisztább, modernebb kódbázis és új buildrendszer
A kódkarbantartás jegyében a Brotli 1.2 eltávolította a Java-kötésekből (Java bindings) a már elavult finalize() metódust, és kijavított egy hibát a Java tömörítő (Java compressor) kódjában, amely bizonyos esetekben helytelen kódolási hosszakat eredményezett.
A buildrendszer is modernizálódott: mostantól a pkg-config alapú hivatkozásokat használja a fordítás során, ami egyszerűbb integrációt és jobb karbantarthatóságot biztosít. A Python-kiterjesztések (Python extensions) szintén megújultak, és most már támogatják a többlépcsős modulinicializálást (multi-phase module initialization), amely kompatibilisebbé teszi a modern Python-verziókkal.
A Brotli 1.2 kiadása bizonyítja, hogy a Google továbbra is elkötelezett a gyors, biztonságos és hatékony adattömörítés iránt. A frissítés egyszerre fejleszti a teljesítményt, javítja a biztonságot, és modernizálja a kódbázist, miközben széles körű fejlesztői támogatást kínál C, Python, Java és Kotlin környezetekben egyaránt.
A részletes változáslista a projekt GitHub-oldalán érhető el. A Brotli továbbra is az egyik legfontosabb technológia a webes és rendszerszintű tömörítés világában – most még gyorsabb, karcsúbb és biztonságosabb formában.

