Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.17.0. Podrobný přehled novinek v changelogu. Přidána byla základní podpora gamepadů. Opraveno bylo několik zranitelností. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.
Americká technologická společnost Apple loni v Irsku na daních zaplatila 17 miliard dolarů (zhruba 350 miliard Kč). To představovalo 40 procent celkové částky, kterou firma odvedla na dani z příjmů po celém světě. Vyplývá to z účetních výkazů podniku. Platbu výrazně zvýšilo rozhodnutí Soudního dvora EU z roku 2024, podle něhož měl Apple doplatit Irsku na daních 13 miliard eur (313 miliard Kč).
CrossPoint Reader je open-source alternativní firmware pro menší, levné čtečky, vybavené cca čtyřpalcovým e-ink displejem. Zahrnuje aplikaci pro čtení e-knih a webový server pro konfiguraci a přenos souborů po síti. Verze 1.0 byla vydána v únoru 2026. Recenze současné verze 1.5 vyšla na Linux Weekly News.
Byla vydána verze 1.98.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Byla vydána nová verze 7.1 (YouTube) svobodného open source redakčního systému WordPress. Kódové jméno Mary Lou bylo vybráno na počest americké jazzové klavíristky Mary Lou Williams (YouTube).
Bun (Wikipedie), tj. běhové prostředí (runtime) a toolkit pro JavaScript a TypeScript, alternativa k Node.js a Deno, byl vydán ve verzi 1.4. Představení novinek také na YouTube. Bun byl přepsán z programovacího jazyka Zig do Rustu. Pomocí Claude Fable 5.
Vývojáři KDE na Mastodonu oznámili vydání balíku aplikací KDE Gear 26.08. Přehled novinek i s náhledy a videi v oficiálním oznámení.
Společnost PINE64 kvůli nedostatku a vysokým cenám DRAM a eMMC dočasně pozastavuje výrobu linuxových zařízení. Výroba zařízení jako PineTime, PineVoice a Pinecil pokračuje.
Společnost Stripe se dohodla na akvizici společnosti OpenRouter. Za 7,5 miliardy dolarů.
Byla vydána nová verze 1.27 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
<?php
// force download dialog
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header('Content-Disposition: attachment; filename="test.mp3"');
header('Content-Type: audio/mpeg');
header('Content-Length: ' . filesize('/path/to/test.mp3'));
header('Content-Transfer-Encoding: binary');
readfile('/path/to/test.mp3');
?>
Skript volám přes běžný prohlížeč (Firefox) a odchytávám si hlavičky, abych poznal výsledek.
Konfigurace Apache je pomocí .htaccess upravena pro kompresi POUZE požadovaných typů souborů, které chci určit na základě mime type. V .htaccess mám:
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/x-javascript </IfModule>Výsledkem tohoto by měla být komprese pouze html, plain, xml, css a js souborů. V PHP si vygeneruji ke stažení mp3 soubor a odešlu správné hlavičky. Tento mp3 soubor NESMÍ být pro mé účely komprimován pomocí mod_deflate. Bohužel právě to se mi děje. Toto chování jsem odzkoušel na distribicích Red Hat, CentOS 5.5, ale i ve Windows (Xampp 1.7.3). Je zajímavé, že v Debianu i Arch Linuxu mi se stejným nastavením vše funguje požadovaným způsobem. Problém bude určitě v konfiguraci Apache, v PHP problém nebude (php.ini je stejné). Změnit definici Apache přes přípony pomocí "AddOutputFilter" není pro mě řešením. Pokud odeberu řádek:
AddOutputFilterByType DEFLATE text/htmlpak se mp3 nabídne ke stažení bez komprese, což je přesně co potřebuji. Skoro to vypadá, že mime type výsledku volaného skriptu je text/html, což mi přijde jako nesmysl, ale přesně tak se to chová. HTML soubory i PHP skripty samozřejmě komprimovat chci. Co může v nastavení Apache toto způsobovat?
<IfModule filter_module>
# nepovinne, ak nechceme nejaky "advanced" typ spracovania
FilterDeclare gzip
# tu je kriterium, kedy sa ma filter spustit
#FilterProvider gzip deflate Content-Type $text/html
#FilterProvider gzip deflate Content-Type $text/plain
#FilterProvider gzip deflate Content-Type $text/xml
#FilterProvider gzip deflate Content-Type $text/css
#FilterProvider gzip deflate Content-Type $text/javascript
#FilterProvider gzip deflate Content-Type $text/rtf
#FilterProvider gzip deflate Content-Type $text/url
# toto pravidlo nahradza vsetky tie zakomentovane vyssie
FilterProvider gzip deflate Content-Type /^text/
FilterProvider gzip deflate Content-Type $application/x-javascript
# tu je kam chceme tento filter zaradit ak ich je viac - default = na koniec chainu
FilterChain gzip
</IfModule>
<IfModule mod_filter.c> <IfModule mod_deflate.c> FilterDeclare COMPRESS FilterProvider COMPRESS DEFLATE Content-Type text/html FilterProvider COMPRESS DEFLATE Content-Type text/plain FilterProvider COMPRESS DEFLATE Content-Type text/xml FilterProvider COMPRESS DEFLATE Content-Type text/css FilterProvider COMPRESS DEFLATE Content-Type application/x-javascript FilterChain COMPRESS </IfModule> </IfModule>http://httpd.apache.org/docs/current/mod/mod_filter.html Podle dokumentace jde o vhodnější cestu, i když možná méně přehlednout. Důležité je, že takto to funguje!
Tiskni
Sdílej: