Adminer 5.5.1
Claude Fable jsem pustil i na závislosti Admineru. Opravil řadu chyb v PhpShrink a JsShrink. Admineru se netýkaly, ale i tak jsem za jejich opravu vděčný. Admineru se týká aktualizace zvýrazňování syntaxe v JUSH. Nechal jsem napsat i aktualizátory jazyků z oficiálních dokumentací.
Změny přímo v Admineru:
- Hlavička
X-Forwarded-Prefixse použila jen pro prefix/[^/]. Tomu bohužel vyhovuje i/\evil.com, což prohlížeče pořád vyhodnotí jakohttps://evil.com. (GHSA-fr74-9mf9-gf44) - V přihlašovacím formuláři lze opět používat znaky
:/_, které jsem v minulé verzi zakázal. (bug #1305) - Kvůli minimalizaci velikosti byl zkompilovaný
adminer.phpbinární soubor, s čímž uživatelé měli problém při všelijakém ručním kopírování (bug #1113, #1213). Jednoduchým řešením by bylo binární řetězce prohnatbase64_encode, jenže to je zvětší o 33 %. Hospodárnější řešení je každých 13 bitů binárního výstupu zakódovat jako dva znaky z rozsahu[!-~], což přidá jen 23 %. Tady jsem si ověřil, jak moc modely pokročily – stejnou úlohu jsem zadal AI asi před půl rokem, dost jsem se s tím natrápil a výsledku jsem se stejně nedobral. Teď to bylo na první dobrou. - Toto navýšení jsem vyvážil změnou kompresního algoritmu z LZW na účinnější
gzdeflate. Pro dekompresi se používágzinflate. Jen pokud není k dispozici, tak se použije vlastní implementace – to by se mi ručně fakt psát nechtělo. - Claude Fable jsem použil i na doplnění chybějících překladů, ale jen v případech, kdy si byla překladem jistá. Model k tomu využil i obraty ze stávajících překladů. Přeskočil jazyky, kterými si nebyl jist. Našel u toho i několik chyb v původních překladech. Nové překlady jsou označené komentářem
// Claud Fable 5, který můžou rodilí mluvčí po kontrole smazat. Doplnění překladů paradoxně snížilo velikost zkompilovaného souboru – každý jazyk se komprimuje zvlášť a místo chybějících překladů se používá angličtina. Míchání jazyků komprimaci zhoršuje. - Adminer v PHP 8 opět funguje i se zakázanou funkcí
ini_set. Starší verze PHP dokázaly funkce zakázané pomocídisable_functionspořád zavolat, jen vyvolaly chybu, kterou Adminer potlačil. Od PHP 8 už takto zakázaná funkce nejde zavolat vůbec, proto jsem pro ni do Admineru musel přidat wrapper. Přidal jsem i kontrolu dostupnosti funkceset_time_limit. (bug #1288) - V PostgreSQL se jde opět přihlásit i s prázdným serverem. (bug #1304, regrese z 5.5.0)
Také jsem aktualizoval PHPCS a PHPStan.
Jakub Vrána, Adminer, 21.7.2026
Diskuse je zrušena z důvodu spamu.

