◀ Domů

Changelog

v1.49.7 2026-09-10
Přidáno
  • Plná přístupnost (a11y) modalů a ovládacích prvků:
  • Doplněna dialogová sémantika (role="dialog", aria-modal="true", aria-labelledby) pro roční grafy, celorepublikové statistiky i zvětšené grafy.
  • Implementována správa fokusu při otevření modalů, focus trap pomocí atributu inert na podkladovém obsahu stránky a bezpečný návrat fokusu na původní ovládací prvek po zavření dialogu.
  • Doplněny viditelné :focus-visible obrysy pro tlačítka zavření modalů (.modal-close) a zvětšení grafů (.chart-zoom-btn).
  • Přepínače režimů mapy, řazení, filtrů a motivu synchronizují stav aria-pressed.
  • Záložky ročních grafů, globálních statistik a detailu stanice mají sémantiku role="tablist" / tab / tabpanel s dynamickým aria-selected a vazbami aria-controls.
  • Vyhledávací pole, filtry teplotního rozsahu, oba posuvníky i výběr dne jsou opatřeny jednoznačnými atributy aria-label.
v1.49.6 2026-09-10
Opraveno
  • Odolnost a správnost načítání denních měření:
  • Rozlišeno legitimní chybění denních dat (HTTP 404 pro data, která ČHMÚ dosud nepublikoval) od výpadků sítě či provozních chyb serveru (HTTP 5xx, 403, chyba spojení).
  • Při síťové či serverové chybě rozhraní zobrazuje viditelné varování s možností okamžitého opakování načtení (retry tlačítko) namísto zavádějící informace o nepublikování dat ČHMÚ.
  • Při selhání měření v režimech historických rekordů je zachováno degradované zobrazení rekordních hodnot doplněné o informační lištu s možností opakování.
  • Zaveden sdílený modul fetch-helper.js sjednocující kontrolu HTTP statusů a podporu AbortController pro zrušení zastaralých požadavků při rychlém přepínání dnů.
v1.49.5 2026-09-10
Přidáno
  • Podpora systémové preference omezení pohybu (prefers-reduced-motion):
  • Výchozí stav přepínače animací se při první návštěvě odvozuje od systémového nastavení prefers-reduced-motion: reduce. Pokud uživatel preferuje omezení pohybu, pulzování markerů je ve výchozím stavu vypnuto.
  • V CSS přidán bezpečnostní fallback @media (prefers-reduced-motion: reduce), který vypíná pulzující animaci markerů a zachovává čisté statické zvýraznění rekordu.
  • Uživatelská volba uložená v nastavení aplikace má i nadále přednost před systémovým výchozím stavem.
v1.49.4 2026-09-10
Opraveno
  • Konzistence barev a formátování grafů celorepublikových statistik:
  • Nahrazena nepodporovaná volba Chart.js cornerRadius platnou vlastností borderRadius: 8 u tooltipů teplotního průběhu a odchylky v charts-global.js.
  • Sjednoceno formátování teplot v tooltipu teplotního průběhu na jedno desetinné místo (toFixed(1)).
  • Sjednocena barva vyrovnaných denních minim v grafu aktivity rekordů na azurovou (rgba(6, 182, 212, 0.75)), v souladu s projektovým pravidlem pro zobrazení teplotních minim.
v1.49.3 2026-09-06
Opraveno
  • Jednorázové načtení vektorového archivu ČR a eliminace chybějících dlaždic:
  • AdaptivePmtilesSource nově načítá celý 7,0MB archiv czech-republic.pmtiles jedním čistým standardním HTTP GET požadavkem do paměti a veškeré dlaždice obsluhuje okamžitě z RAM bez opakovaných síťových dotazů.
  • Odstraněno posílání desítek souběžných HTTP Range požadavků, které na lokálním serveru způsobovaly vyčerpání spojení prohlížeče (limit 6 socketů HTTP/1.1) a zrušení stahování hraničních dlaždic (např. výřez jižních Čech a Rakouska 7/69/44).
  • Odstraněna veškerá závislost na CacheStorage (window.caches) – aplikace se plně spoléhá na standardní HTTP cache prohlížeče s verzovanou URL ?v=1.49.3.
  • Doplněn chybějící fontový glyph rozsah 8192-8447.pbf (všeobecná interpunkce, pomlčky – U+2013 apod.) i doplňkové rozsahy (1280-1535.pbf, 7680-7935.pbf) pro Noto Sans Regular a Noto Sans Medium, jejichž absence způsobovala selhání vykreslení symbolové vrstvy v dlaždici 7/69/44 (Fertő–Hanság Nemzeti Park).
  • Ošetřeno duplicitní volání setStyle() v updateMapTheme() při startu aplikace, které způsobovalo Unable to perform style diff: Style is not done loading.. Rebuilding the style from scratch a restartovalo načítání mapového podkladu.
v1.49.2 2026-09-06
Opraveno
  • Adaptivní podpora PMTiles a souběžné stahování dlaždic:
  • Implementován adaptivní zdroj AdaptivePmtilesSource pro načítání vektorových dlaždic z PMTiles archivu.
  • Vyřešena nekompatibilita Cloudflare Pages se statickými HTTP Range dotazy (kdy server vrací HTTP 200 místo HTTP 206) načtením archivu do paměti bez nutnosti nestandardních lokálních úložišť.
  • Odstraněna CacheStorage (window.caches) – veškeré cachování je svěřeno výhradně standardní HTTP cache prohlížeče, která spolehlivě reaguje na tvrdý reload (Ctrl+Shift+R) a verzování URL (?v=1.49.2).
  • Vyřešen souběhový deadlock při načítání dlaždic – dotazy na standardních serverech (včetně lokálního vývoje s HTTP 206) probíhají plně paralelně bez vzájemného blokování, díky čemuž se mapa načítá kompletně a bez chybějících čtverců.
  • Doplněny chybějící fontové glyph rozsahy (Unicode 512–1279) pro Noto Sans, díky čemuž se spolehlivě zobrazují všechny české názvy měst a obcí (Praha, Brno, Plzeň apod.).
  • Rozšíření výřezu mapového archivu (Zoom 0–7 s overzoomingem):
  • Rozšířen bounding box mapového podkladu na 10.50, 46.50, 21.50, 52.50, čímž byl odstraněn chybějící výřez v jižních Čechách a rakouském příhraničí.
  • Archiv czech-republic.pmtiles má optimalizovanou velikost 7,0 MB pokrývající celou ČR a okolní státy s plynulým vektorovým overzoomingem pro vyšší úrovně přiblížení.
v1.49.0 2026-09-06
Přidáno
  • Vlastní vektorový mapový podklad ČR (PMTiles & MapLibre GL):
  • Nahrazení externích rastrových dlaždic CARTO vlastním vektorovým podkladem bez externích závislostí a limitů.
  • Podklad zahrnuje státní a krajské hranice, okresní a větší města, meziměstskou silniční síť (dálnice, silnice I. a II. třídy bez vnitřních městských uliček), hlavní vodstvo a pohoří.
  • Plně lokální hosting v Cloudflare Pages (web/data/czech-republic.pmtiles) s načítáním výřezů přes HTTP Range dotazy.
  • Lokální vendor distribuce knihoven MapLibre GL, PMTiles a Leaflet-MapLibre-GL v web/vendor/ bez externích CDN.
  • Nové minimalistické vektorové styly pro světlý a tmavý režim navržené pro maximální čitelnost a dominanci meteodat.
  • Zobrazení významných a nejvyšších vrcholů českých pohoří (Sněžka, Praděd, Lysá hora, Plechý, Javořice, Devět skal atd.) včetně nadmořských výšek a bodových markerů.
v1.48.0 2026-08-24
Změněno
  • Optimalizace UX levého panelu a přesun času aktualizace do záhlaví:
  • Informace o čase poslední aktualizace dat (#data-updated-time) byla přesunuta z patičky přímo do horního záhlaví panelu pod podtitul pro okamžitou viditelnost bez nutnosti scrollování.
  • Číslo verze v záhlaví (header-version-badge) je nově klikací odkaz vedoucí přímo na changelog.html.
  • Do horního stavového řádku byl přidán přímý odkaz „ℹ O projektu“ vedoucí na informační stránku o projektu a zdrojích dat.
  • Patička panelu byla odlehčena od duplicitního času aktualizace při zachování licenčních informací a sekundárních odkazů.
  • Propojení statistik a přehledu s mapou a filtry:
  • Karty teplotních extrémů dne (Min. teplota a Max. teplota) jsou nově interaktivní – kliknutím na box extrému se mapa plynule vycentruje na danou stanici a otevře její informační popup.
  • Boxy v souhrnu stavu rekordů (Stanic, Denní max./min., Abs. max./min.) nově fungují jako přímé přepínače rychlých filtrů stanic včetně vizuální indikace aktivního filtru.
  • Do vyhledávacího pole stanic bylo doplněno tlačítko ✕ pro okamžité smazání zadaného vyhledávacího textu jedním klikem (s podporou klávesy Escape).
v1.47.0 2026-08-20
Přidáno
  • Loňská kumulativní křivka v ročních grafech srážek: V modálním okně detailu stanice na záložce „Kumulované srážky“ (precip-cum) byla do grafu přidána fialová křivka loňské kumulace srážek (pro rok 2025). Umožňuje tak přímé vizuální i číselné srovnání průběhu srážek mezi letošním rokem, loňským rokem a dlouhodobým normálem.
  • Loňský celkový úhrn ve statistikách a popiscích: Boxy se souhrnnými statistikami pod grafem nově zobrazují přesný celkový roční úhrn loňského roku a v popiscích (tooltipech) se při najetí myší počítá odchylka od normálu jak pro letošní, tak pro loňský rok.
  • Extrakce historických dat předchozího roku: Skript scripts/calculate_annual_stats.py byl rozšířen o ukládání denních naměřených úhrnů srážek za bezprostředně předchozí uzavřený rok (PREV_YEAR, 2025) přímo do datových souborů web/data/annual/*.json.
v1.46.3 2026-08-20
Opraveno
  • Oprava chyby dateLabel is not defined v kumulativních grafech srážek a svitu: Deklarace proměnné dateLabel v modulu web/js/src/charts-annual.js byla přesunuta do vnějšího rozsahu platnosti (scope), aby byla dostupná i při sestavování popisku letošní kumulace (cumLabel), což odstranilo pád a chybovou hlášku při otevírání ročních grafů stanic pro srážky a sluneční svit.
v1.46.2 2026-08-19
Opraveno
  • Filtrování vývojářských záznamů ve webovém changelogu: Skript pro generování statických stránek (scripts/build_pages.py) nově spolehlivě odstraňuje všechny sekce i jednotlivé položky označené jako [dev] / [DEV] (včetně celých kategorií ### [dev]), takže se interní vývojářské poznámky nezobrazují na veřejné stránce changelog.html.
v1.46.1 2026-08-19
Opraveno
  • Automatická aktualizace ročních statistik v make update: Doplněn modul src/crtempmax/annual_updater.py, díky kterému make update automaticky promítá letošní naměřená data i klimatické statistiky do všech 255 ročních souborů web/data/annual/*.json.
  • Průhledné zobrazení a zachování odchylky pro stará srážková měření:
  • Pokud stanice přestane v průběhu roku měřit srážky (např. výpadek senzoru), nezapočítává se jí po výpadku falešný narůstající deficit, ale zachová se reálná bilance k datu posledního měření.
  • Stanice se staršími daty se na mapě a v seznamu zobrazují průhledně (se sníženou opacitou), s označením data měření (např. k 1. 6.) a informačním hlášením v popupu.
  • Sjednocení přestupných dnů v kumulativních grafech: Opraveno načítání normálu v charts-annual.js pro nepřestupné roky, aby čísla kumulací přesně seděla s mapou.
v1.46.0 2026-08-19
Přidáno
  • Režim srážkové kumulace na celkové mapě: Do volby režimů zobrazení na hlavní mapě byl přidán nový režim „Srážky (odchylka)“ (precip-cum-diff). Režim zobrazuje pro každou stanici aktuální bilanci (rozdíl v mm) kumulativních srážek od začátku roku oproti dlouhodobému průměru k danému dni, včetně barevné škály deficitu/přebytku srážek a řazení v bočním panelu.
v1.45.8 2026-08-19
Opraveno
  • Optimalizace automatického stahování a detekce neoficiálních dat:
  • Do automatického stahování se již nezařazují dny z plně uzavřených měsíců (starší než 5 dní od konce měsíce), jejichž data jsou na serveru ČHMÚ finální a neměnná.
  • Zpřesněno určení celkového zdroje dat dne (data_source): dny, kde má drtivá většina stanic (≥ 95 %) oficiální data a pouze jednotlivé stanice využívají live fallback kvůli výpadku senzoru v datech ČHMÚ, se správně označují jako official.
  • Zpřesněny logovací hlášky při zachování live dat, aby rozlišovaly skutečné čekání na publikaci celého dne od výpadků oficiálního měření konkrétních stanic.
v1.45.7 2026-08-10
Změněno
  • Aktivace tlačítek režimů zobrazení: Režim Aktuální (btn-mode-actual) je nově aktivní a povolený výhradně pro dnešní den. Při přepnutí na historický den se tlačítko deaktivuje a režim se automaticky přepne na Dnešní max.
v1.45.6 2026-08-07
Změněno
  • Sledování neúplných denních dat ČHMÚ: Do interní evidence byl doplněn konkrétní případ chybějícího denního maxima stanice Košetice z 31. 7. 2026 včetně požadavků na bezpečné budoucí omezení opakovaných kontrol; aplikace nadále zachovává dříve získaná živá data.
v1.45.5 2026-08-02
Přidáno
  • Produkční nasazení na Cloudflare Pages: Web je dostupný na meteo.heca.cz a projekt obsahuje oddělené příkazy make update pro aktualizaci dat, sestavení a lokální ověření distribuce a make publish výhradně pro publikování připraveného adresáře web/. Součástí jsou kontroly limitů a povinných generovaných dat i produkční HTTP hlavičky s revalidací měření.
v1.45.4 2026-08-01
Změněno
  • Oddělení zdrojového kódu a generovaných dat: Meteorologické soubory ve web/data/ zůstávají lokálně dostupné pro aktualizaci a sestavení webu, ale již se neukládají do Git repozitáře ani jeho historie.
Opraveno
  • Přenositelné odkazy v dokumentaci: Lokální absolutní odkazy byly nahrazeny relativními cestami, takže dokumentace ani veřejný changelog nezveřejňují strukturu pracovního adresáře.
v1.45.3 2026-07-27
Opraveno
  • Podpora pro čas 24:00 v datových feedech: Převod časových údajů z UTC do lokálního času Europe/Prague správně podporuje čas 24:00 (půlnoc na konci dne) a převádí jej na začátek následujícího kalendářního dne.
  • Odolnost při stahování dat ze serveru ČHMÚ: Síťové dotazy s HTTP 200 obsahující prázdné tělo (0 B) vyvolají opakovaný pokus (retry), čímž se předchází chybám parsování při dočasném generování souborů na serveru.
v1.45.2 2026-07-25
Opraveno
  • Živá data podle pražského kalendářního dne: Průběžná 10minutová měření se skládají ze sousedních UTC souborů a filtrují až po převodu timestampů do Europe/Prague, takže denní extrémy a historie zahrnují i místní čas od půlnoci.
  • Odolnost proti částečným výpadkům: Selhání aktualizace jednotlivé stanice již neodstraní její poslední platná data ani absolutní rekordní override z denního výstupu.
  • Bezpečná údržba historických podkladů: Výpočty rekordů a ročních statistik podporují vynucenou obnovu historické CSV cache přes --force; aktualizace metadat zachovává historické rekordy a aktivita stanice se řídí posledním skutečným pozorováním.
  • Jednotný pražský čas na backendu: Výběr aktuálního dne, měsíce a roku již nezávisí na systémové časové zóně serveru.
v1.45.1 2026-07-25
Opraveno
  • Spolehlivé přepínání dnů a stanic: Opožděná odpověď staršího síťového požadavku již nemůže přepsat data nověji zvoleného dne ani roční graf jiné stanice.
  • Jednotný pražský čas: Aktuální rok, datum a výpočet stáří živých měření se určují v časové zóně Europe/Prague nezávisle na nastavení zařízení návštěvníka.
  • Bezpečné vykreslování dat: Dynamické údaje stanic a měření jsou před vložením do HTML escapovány, takže nemohou vytvořit nežádoucí značky nebo atributy.
v1.45.0 2026-07-25
Změněno
  • Sloučení celorepublikové aktivity rekordů do jednoho grafu: Graf aktivity rekordů v celorepublikových statistikách byl sloučen do jediného přehledného skládaného sloupcového grafu. Rekordní maxima jsou vynášena směrem nahoru (+), zatímco rekordní minima jsou vynášena směrem dolů (-).
  • Zobrazení čistých číselných hodnot bez jednotky: Na ose Y i v hover tooltipu aktivity rekordů se nyní zobrazuje pouze čistá číselná hodnota (počet stanic) bez přípony st..
v1.44.0 2026-07-23
Přidáno
  • Obecná aproximace a vyhlazování křivek v grafech: Do celorepublikových i ročních grafů stanic byla přidána možnost vyhlazování pro všechny spojité grafy (maximální i minimální teploty, rychlost větru, nárazy větru, rosný bod, kumulace srážek a kumulace slunečního svitu).
  • Volba ze 3 matematických metod: Uživatel si může přepnout mezi 14denním klouzavým průměrem, Savitzky-Golay filtrem (15bodové okno) a Kubickým splinem (Gaussovo vyhlazení). Vyhlazení se aplikuje na všechny čáry v grafu najednou bez nechtěného zdvojení čar.
  • Vylepšení UX: Přepínač vyhlazování byl umístěn přímo do šedé lišty záložek pod tlačítka přepínání grafů a preferovaný režim se pamatuje v prohlížeči.
v1.43.0 2026-07-23
Přidáno
  • Tlačítko pro zaostření viditelných stanic (Fit bounds): Do ovládání zoomu Leaflet mapy vpravo nahoře bylo přidáno nové tlačítko 🎯. Stisknutím se automaticky spočítá výřez mapy ze všech aktuálně zobrazených/vyfiltrovaných stanic tak, aby byla mapa vycentrovaná a maximálně využila plochu okna. Vypočtený výřez je omezen stropem maxZoom: 9.5, aby při vyfiltrování jediné stanice mapa nezůstala extrémně přiblížená na uliční detail.
v1.42.0 2026-07-23
Změněno
  • Statická metadata stanic a oddělení runtime stavu: Soubor stations_meta.json je nyní striktně statickou databází metadat a historických rekordů. Skript update_current.py jej za běhu již nepřepisuje. Možnosti stanic (has_casmax, has_10m) se ukládají výhradně do web/data/stations_capabilities.json a frontend je načítá z tohoto samostatného souboru.
  • Oprava kešování a zkrácení intervalu pro 10m live data ČHMÚ: Interval kešování pro dnešní 10minutová živá data byl zkrácen z 60 minut na 5 minut a byla opravena chyba v obsluze odpovědi HTTP 304, která neoprávněně posouvala modifikační čas kešovaných souborů a zamykala načítání nových dat ze serveru ČHMÚ.
v1.41.0 2026-07-23
Přidáno
  • Čas dosažení denního minima: Do zpracování meteorologických dat a do uživatelského rozhraní byl doplněn čas dosažení denního minima (time_min). Čas je nyní zobrazován v popupu stanice při výběru režimu minim, v detailní legendě porovnání teplot, na ryskách stupnice i v mapových tooltipech symetricky k dosavadnímu času denního maxima.
v1.40.0 2026-07-23
Přidáno
  • Zobrazení odchylky v hintu kumulativních grafů: Do tooltipů kumulativních grafů ročních statistik (Kumulované srážky a Kumulovaný sluneční svit) byl přidán nový řádek se zobrazením odchylky (rozdílu) mezi letošní kumulací a dlouhodobým průměrem pro daný kalendářní den v milimetrech (mm), resp. hodinách (h).
v1.39.0 2026-07-23
Přidáno
  • Tlačítko pro reset URL parametrů: Vedle tlačítka „Kopírovat odkaz“ v postranní liště bylo přidáno tlačítko „Reset URL“. Stisknutím se okamžitě smaže část za mřížkou (#part) z URL adresy, vynulují se stavové příznaky (dirty flags) a aplikace se vrátí do výchozího zobrazení.
v1.38.0 2026-07-23
Přidáno
  • Kumulativní graf slunečního svitu u stanic: Do modálního okna s ročními statistickými grafy stanic byla přidána nová záložka „Sluneční svit (kumulace)“. Graf zobrazuje celkový nárůst doby slunečního svitu v hodinách od začátku roku v porovnání s dlouhodobým normálem (1991–2020) a odchylku k aktuálnímu dni pro posouzení sluneční aktivity i solárních zisků (FVE).
v1.37.0 2026-07-23
Změněno
  • Samostatné záložky pro minima a maxima v celorepublikových grafech: Celorepublikové grafy v modálním okně již nezávisejí na nastaveném režimu zobrazení hlavní mapy. V záhlaví okna byly přidány samostatné záložky uspořádané do dvou systémových řádků (horní řada pro maxima, spodní pro minima), což umožňuje přímo přepínat mezi průběhem, odchylkou a aktivitou rekordů pro denní maxima i minima.
v1.36.2 2026-07-18
Přidáno
  • Datum začátku měření v popupech a grafech: Do popupů stanic a do záhlaví ročních grafů bylo přidáno datum začátku měření (odvozeno jako nejstarší BEGIN_DATE z metadat ČHMÚ pro každou stanici).
  • Data měření v tooltipech teplotní škály: Tooltipy (hinty) ryskových ukazatelů v teplotní škále porovnání teplot v popupu nyní zobrazují konkrétní datum a čas měření pro denní a absolutní minima i maxima.
Změněno
  • Upraven skript download_metadata.py pro automatické stahování a parsování data začátku měření do stations_meta.json.
v1.36.1 2026-07-14
Opraveno
  • Zesvětlování značek při starých datech: Omezeno zesvětlování (snížení opacity) značek stanic na mapě a karet stanic v panelu při starých/zpožděných datech pouze na režim „Aktuální“. V režimech denních a absolutních maxim a minim (kde není čerstvost posledního měření relevantní) se značky a karty již nezesvětlují.
v1.36.0 2026-07-14
Přidáno
  • Symbol srážek na mapě: V režimu zobrazení "Aktuální" (a pouze pro aktuální den) se na mapových markerech stanic s detekovanými aktivními srážkami (> 0 mm za posledních 10 minut) zobrazuje odznáček se symbolem mraku s deštěm 🌧️. Odznáček je umístěn v levém horním rohu markeru s modrým ohraničením a zamezuje kolizím s ostatními ukazateli.
v1.35.1 2026-07-14
Opraveno
  • Automatické určení aktuálního roku: Roční a celorepublikové statistiky, průběžná aktualizace ročních dat i popisky grafů už nejsou pevně svázané s rokem 2026. Po přechodu do nového roku automaticky pracují s aktuálním kalendářním rokem.
v1.35.0 2026-07-12
Změněno
  • Modulární architektura frontendu: Kompletní interní přestavba aplikace z jednoho monolitického souboru na sadu přehledných ES modulů (web/js/src/) sestavovaných do jednoho produkčního souboru. Funkčnost i vzhled aplikace zůstávají beze změny; přestavba zrychluje další vývoj a umožňuje automatické testování klíčové logiky (barvy, trendy, permalinky, řazení).
  • Oprava poškozených ročních statistik: Regenerace všech 255 ročních datových souborů z lokální cache historických dat ČHMÚ (soubor stanice 0-20000-0-11487 byl poškozený a nešel načíst, což rozbíjelo roční grafy dané stanice).
v1.34.0 2026-07-10
Přidáno
  • Warming Stripes (Climate Fingerprint) pro konkrétní stanici: V ročním přehledu stanice byla přidána nová interaktivní záložka zobrazující barevný otisk letošního průběhu teplotních odchylek (366 pruhů bez mezer).
  • Dynamické barvení statistik s kontrastem: Statistiky pod grafem Warming Stripes jsou obarveny podle aktuálních odchylek (průměrná odchylka, nejvyšší nadprůměr, nejhlubší podprůměr a poměr dnů) s automatickým výpočtem YIQ kontrastu pro stoprocentní čitelnost textu v tmavém i světlém režimu.
v1.33.0 2026-07-10
Přidáno
  • Teplotně mapovaní a interaktivní jezdci filtru (Bod 2): Vyladěn styling pseudo-elementů posuvníků (thumbs), které se nyní spolehlivě zbarvují podle aktuálně vybrané teploty. Přidány moderní focus-visible stavy pro eliminaci výchozího outline a upraveny ztmavovací overlaye.
  • Custom Dark Mode filtry pro mapové dlaždice (Bod 8): V tmavém režimu přidán CSS filtr na Leaflet mapové dlaždice (jas, kontrast, saturace), což zvyšuje čitelnost a umožňuje neonovým markerům rekordů lépe vyniknout.
  • Estetické vylepšení grafů Chart.js (Bod 9): U popup grafů byl přidán lineární barevný přechod pod křivkami (Area Gradient) od barvy veličiny do ztracena. Tooltipy všech grafů (popup, roční i celorepublikové) byly sjednoceny do zaobleného designu s Outfit/Inter fonty.
  • Decentní zakázkový scrollbar (Bod 10): V postranním panelu a v seznamu stanic byly sjednoceny a vizuálně zjemněny posuvníky (scrollbars) pomocí poloprůhledných barev s plynulým hover efektem.
v1.32.1 2026-07-10
Změněno
  • Sjednocen formát výpisů a chybových hlášení při aktualizaci dat a výpočtech. Každý výpis týkající se konkrétní stanice nyní obsahuje jak její název/město, tak i ID/WSI ve formátu Jméno (ID) (např. Ostrava (0-203-0-20101156002)). Upraveny byly skripty update_current.py, calculate_records.py, add_absolute_mins.py, download_metadata.py, calculate_annual_stats.py a calculate_global_stats.py.
v1.32.0 2026-07-10
Změněno
  • Zlepšení UX a rozvržení nastavení panelu: Zavedena jednotná třída .setting-group s rozestupem 16px (flex gap) mezi skupinami voleb a odstraněny přebytečné dělící čáry.
  • One-Click řazení stanic: Výběr řazení stanic byl změněn z dropdown select boxu na moderní segmentový přepínač pro možnost řazení jediným kliknutím.
  • Konzistence barevného schématu minim: Rysky a značky legendy pro absolutní minima (alltime-min) a předchozí absolutní minima (historical-alltime-min) byly upraveny z nekonzistentních barev (bílá, šedá) na logické a kontrastní odstíny tmavě modré a modré, což plně odpovídá pravidlu o modrých/azurových barvách pro minima.
  • Oprava pozadí statistik v tmavém režimu: Pro statické boxy .stat-item bylo přidáno správné pozadí pro tmavý režim (rgba(255, 255, 255, 0.03)), čímž se sjednotil jejich vzhled s ostatními statistickými boxy.
  • Robustnější fallback N/A markerů: Do CSS byly doplněny fallback styly pro barvu pozadí a textu pro mapové markery bez měření (.state-na), aby správně odpovídaly vzhledu karet.
v1.31.0 2026-07-10
Přidáno
  • Do bočního panelu stanic přidány ovládací prvky pro řazení stanic (podle abecedy, podle teploty sestupně, podle teploty vzestupně) a teplotní filtr od-do v °C.
  • Pro teplotní filtr byl přidán grafický posuvník se dvěma jezdci (dual range slider) stylizovaný jako plnohodnotná barevná teplotní stupnice (od -40 °C do 40 °C). Neaktivní části stupnice mimo vybraný rozsah jsou automaticky ztmaveny a jezdci (thumbs) mění svou barvu podle teploty, na kterou ukazují.
  • Zajištěno ukládání stavu řazení a teplotního filtru do URL hash pro snadné sdílení stavu aplikace.
Změněno
  • Vylepšeno označení extrémních teplot na mapě: v jakémkoliv zvoleném režimu zobrazení jsou nyní označeny stanice s nejvyšší (zlatá korunka 👑, třída state-highest) a nejnižší (modrá vločka ❄️, třída state-lowest) teplotou.
  • Extrémní stanice na mapě mají nastaven nejvyšší z-index offset (1000), takže se vykreslují nad ostatními překrývajícími se body a jsou vždy viditelné.
v1.30.0 2026-07-09
Přidáno
  • Přidána nová záložka Klimatické dny v ročních statistikách detailu stanice. Zobrazuje sloupcový graf (Grouped Bar Chart) s počty letních, tropických, supertropických, mrazových, ledových, arktických dnů a tropických nocí v aktuálním roce (2026) v porovnání s klimatologickým normálem (1991–2020).
  • Pod graf byla přidána moderní tabulka s procentuálními progress bary naplnění normálu a odznáčky odchylek (např. o kolik dní více/méně než průměrně letos nastalo).
v1.29.7 2026-07-09
Změněno
  • Upraveno řazení teplot v porovnávacím panelu detailu stanice, kde se předchozí historické rekordy nově korektně řadí podle své teplotní hodnoty mezi ostatní položky.
  • Zlepšena vizuální prezentace teplot v porovnání: aktuální teplota je nově zobrazena zeleně, maximální teploty mají odstíny červené (dnešní max. světle červená, denní max. červená, absolutní max. a předchozí rekordy tmavě červená).
  • Zvýrazněny a rozšířeny rysky na teplotní stupnici (gauge ticks) na šířku 6px a výšku 22px pro lepší čitelnost a rozpoznatelnost jejich barev. Přidány rysky pro předchozí historické rekordy.
v1.29.6 2026-07-09
Změněno
  • Přepínač režimů zobrazení teploty na mapě byl převeden na přehlednější dvou sloupcový layout (vlevo minima, vpravo maxima) s plnou šířkou pro tlačítko "Aktuální".
  • V detailu stanice (Leaflet popup) byla do teplotního srovnání přidána aktuální (10minutová) teplota. Všechny teploty v legendě škály jsou nově řazeny vzestupně podle naměřené hodnoty.
v1.29.5 2026-07-08
Opraveno
  • Opravena chyba parsování parametrů URL hashe, kdy chybějící souřadnice mapy (lat, lon) a zoom (z) byly chybně vyhodnoceny jako 0 (Null Island), což způsobovalo nesprávné vycentrování mapy a zoom při načtení specifických režimů (např. #mode=actual). Mapové souřadnice a zoom se nyní načtou pouze při reálné interakci uživatele s mapou nebo pokud jsou v URL explicitně přítomné.
v1.29.4 2026-07-08
Přidáno
  • Do přepínače hodnot na mapě přibyl režim Aktuální, který v bodech zobrazuje poslední dostupnou 10minutovou teplotu místo denního maxima.
  • V režimu Aktuální se u mapových bodů zobrazuje malá šipka fáze dne: ↑, pokud je poslední aktuální měření stále u dosavadního denního maxima, a ↓, pokud už aktuální teplota po dosažení maxima klesla.
Změněno
  • Zaostávající dnešní měření starší než hodinu na mapě nyní blednou výrazněji, aby stará data nepůsobila stejně čerstvě jako aktuální měření.
  • Stáří dnešních měření se nově počítá i proti aktuálnímu času v prohlížeči, takže starší data zůstávají viditelně zaostávající i po skončení pravidelných aktualizací.
  • Význam šipky byl sjednocen s denním maximem stanice: nejde o obecný krátkodobý trend, ale o informaci, zda už pravděpodobně proběhl teplotní vrchol dne.
  • Šipka v režimu Aktuální se zobrazuje i u zaostávajících měření; stáří dat se odlišuje pouze vyblednutím markeru.
v1.29.3 2026-07-08
Přidáno
  • Přidán end-to-end smoke test hlavního UI nad lokálními statickými daty, který ověřuje načtení mapy a stanic, přepínání všech teplotních režimů, popup stanice, roční grafy a celorepublikové grafy.
v1.29.2 2026-07-08
Přidáno
  • Stav mapy a panelu se nově ukládá do URL hashe jako rozdíl proti výchozímu zobrazení: režim, historické datum, ručně změněná poloha a zoom mapy, hledání, rychlý filtr, zavřené sekce, vybraná stanice, záložky popupu i otevřené grafové modály. Panel nabízí globální tlačítko pro zkopírování odkazu na aktuální zobrazení.
v1.29.1 2026-07-07
Opraveno
  • Doplněno ukládání a čtení přepisů absolutních minim (all_time_min_overrides) pro překonaná absolutní minima bez zápisu runtime rekordů do stations_meta.json.
v1.29.0 2026-07-06
Změněno
  • Symetrické a důsledné názvosloví:
  • Odstraněno matoucí označení "Denní rek." a plně zavedeno jednotné a symetrické dělení na Dnešní (aktuálně naměřená hodnota), Denní (historické maximum/minimum pro kalendářní den) a Abs. (absolutní all-time maximum/minimum stanice).
  • Tato symetrie byla implementována napříč celým klientským rozhraním (přepínače na mapě, popisky celorepublikových statistik, extrémní denní hodnoty, ryskové diagramy v detailech stanic i legendy ročních grafů).
  • Aktualizována dokumentace projektu (README.md, content/metodika-grafu.md) a vysvětlující texty pro zachování pojmové integrity.
  • Umožněno přehledné zalamování přepínačů na mapě pro menší displeje na postranním panelu.
  • Rozšířena teplotní stupnice na hlavním panelu legendy z rozmezí -10°C / 40°C na -40°C / 40°C (s krokem 20 °C) a rozšířena barevná škála interpolace o tmavé fialové/indigové odstíny pro extrémní mrazy.
v1.28.0 2026-07-06
Přidáno
  • Sledování minimálních teplot a rekordů:
  • Přidána podpora pro stahování, parsování a ukládání denních minimálních teplot (temp_min) z ČHMÚ denních archivů a operativních 10m datových toků.
  • Přidána podpora pro sledování historických a denních rekordů minim (uložených v stations_meta.json jako all_time_min a daily_records_min).
  • Přidán nový přepínač hodnot na mapě Denní min. pro vizualizaci naměřených minimálních teplot dne.
  • Rozšířena teplotní škála v popupu stanice z -10°C / 40°C na -40°C / 40°C pro zimní extrémy, se symetrickým rozložením ryskových ukazatelů (absolutní minimum: bílá, denní rekord minima: azurová, dnešní minimum: modrá, dnešní maximum: zelená, denní rekord maxima: červená, absolutní rekord maxima: černá).
  • Přejmenovány popisky ryskového schématu na Dnešní maximum a Dnešní minimum.
  • Rozšířeny roční grafy stanice o novou záložku Minimální teplota zobrazující roční průběh minimálních teplot (včetně historického rekordu minima, průměrného minima a naměřených minim v roce 2026).
  • Zavedena kompletní symetrie pro minimální teploty v levém panelu: rychlé filtry ("🥶 Denní", "🚨 Absolutní", "☀️ Nepřekonán"), popisky statistik překonání rekordů a teplotních extrémů se dynamicky přepínají dle zvoleného zobrazení na mapě.
  • Rozšířeny celorepublikové roční grafy o podporu minimálních teplot: při zobrazení "Denní min." na mapě se roční celorepublikové grafy (Průběh, Odchylka a Aktivita rekordů) automaticky přepnou na zobrazení minim, s modrým podbarvením překonaných rekordů.
  • Jednorázový backendový skript:
  • Vytvořen jednorázový importní skript add_absolute_mins.py pro naplnění stations_meta.json údaji o historických absolutních minimech a denních minimech ze všech 255 stanic.
v1.27.0 2026-07-06
Změněno
  • Přejmenování projektu: Kompletní přejmenování projektu z "CRTempMax" na "meteo.heca.cz" / "Meteo Heča" napříč celou aplikací:
  • Aktualizovány titulky stránek, metadata (og:title), hlavní nadpisy (loga), patičky a popisy stránek.
  • Opraven a aktualizován popis barevné indikace teplotních rekordů na stránce „O projektu“ podle platného barevného standardu (červená pro denní rekordy, černá/bílá pro absolutní rekordy).
  • Upraven kontrolní test v dev_server.py, aby správně detekoval běžící lokální server pod novými názvy.
v1.26.0 2026-07-06
Přidáno
  • Rozšíření ročních grafů o další meteorologické veličiny:
  • Do ročního modálního okna stanice byly přidány 4 nové záložky: Rychlost větru, Nárazy větru, Rosný bod a Sluneční svit.
  • Pro každou novou veličinu se vykresluje roční průběh složený z historického maxima, historického minima, dlouhodobého průměru a naměřených hodnot v roce 2026.
  • Pod grafy jsou integrovány odpovídající statistické boxy:
  • Rychlost větru: Hist. maximum, Hist. minimum, Letošní max. a Letošní průměr.
  • Nárazy větru: Hist. maximum, Hist. průměrný náraz, Letošní max. náraz a Letošní průměrný náraz.
  • Rosný bod: Hist. maximum, Hist. minimum, Letošní max. a Letošní min.
  • Sluneční svit: Hist. max. denní, Průměrná roční doba, Letošní max. denní a Letošní celková doba.
  • Zpracování a stahování nových dat:
  • Skript calculate_annual_stats.py nově stahuje a agreguje historická CSV pro rychlost větru (F), nárazy větru (Fmax), rosný bod (TPM) a sluneční svit (SSV) pro všech 255 stanic.
  • Skript update_current.py stahuje a průběžně aktualizuje tato data z operativních měření a ukládá je do denních JSONů a ročních souborů.
v1.25.0 2026-07-06
Přidáno
  • Kumulativní srážkový graf:
  • Do modálního okna ročního grafu stanice byla přidána nová třetí záložka „Srážky (kumulace)“, která zobrazuje postupný nárůst srážek od začátku roku.
  • Graf srovnává dvě křivky: dlouhodobý průměrný kumulovaný srážkový úhrn a letošní kumulovaný srážkový úhrn k dnešnímu dni (rok 2026).
  • Pod grafem jsou zobrazeny tři přehledné statistické boxy: dlouhodobý průměrný celkový roční srážkový úhrn, letošní kumulovaný srážkový úhrn a přesná odchylka od průměru k dnešnímu dni (včetně označení, zda jde o nadprůměr či podprůměr).
  • Upřesnění názvosloví a zamezení mezipaměti:
  • Tlačítko v popupu stanice na mapě bylo přejmenováno na obecnější „Roční grafy“.
  • Opraven mechanismus cache-busting – verze konstanty appVersion v app.js se nyní automaticky synchronizuje při spuštění skriptu bump_version.py.
v1.24.0 2026-07-06
Přidáno
  • Roční graf srážek pro stanice:
  • Do modálního okna ročního grafu stanice byla přidána nová záložka „Srážky“, která doplňuje stávající záložku „Teplota“.
  • Srážkový graf přehledně zobrazuje průběh denních úhrnů srážek během roku: historické denní minimum, historický denní průměr, historické denní maximum a hodnoty pro letošní rok (2026).
  • Pod grafem jsou zobrazeny čtyři přehledné statistické boxy: historické maximum denního úhrnu (s rokem naměření), dlouhodobý průměrný roční úhrn (suma denních průměrů), letošní maximální denní úhrn a celkový letošní srážkový úhrn (suma denních úhrnů v roce 2026).
  • Srážkový graf plně podporuje zvětšení (zoom) pomocí tlačítka ⛶ a responzivní zobrazení.
  • Agregace srážek na backendu:
  • Skript update_current.py nově z opendata.chmi.cz stahuje a zpracovává historii srážkových úhrnů (SRA element z měsíčních a 10m JSONů) a ukládá denní sumy pod klíčem precip v souborech current-YYYY-MM-DD.json.
  • Skript calculate_annual_stats.py stahuje historické CSV soubory srážek (dly-{wsi}-SRA.csv), počítá pro každý kalendářní den historické extrémy a průměry a ukládá je do nového klíče daily_data_precip v annual/{wsi}.json.
v1.23.1 2026-07-06
Opraveno
  • Korekce měřítka os u nulových a konstantních hodnot v grafech:
  • U srážek, rychlosti a nárazů větru a délky slunečního svitu se nyní při nulových hodnotách (např. bezdeštný den) vykreslí čára grafu u spodního okraje namísto středu.
  • U ostatních konstantních hodnot (např. stálá vlhkost nebo teplota) se osy přizpůsobí tak, aby čára nebyla zbytečně centrována ve virtuálním středu bez odpovídajícího kontextu, ale odpovídala reálnému rozsahu (např. 80 % vlhkost se zobrazí v 80 % výšky grafu).
v1.23.0 2026-07-05
Přidáno
  • Systematické zvětšování grafů (Zoom):
  • Všechny tři grafy v aplikaci (graf v popup okně stanice, roční teplotní průběh v modálu stanice a celorepublikové grafy v modálu statistik) mají nyní v pravém horním rohu tlačítko ⛶ pro zvětšení (zoom).
  • Kliknutím na tlačítko zoom se otevře univerzální celoobrazovkové modální okno (#chart-zoom-modal), které zkopíruje konfiguraci a datové sady ze zdrojového grafu a vykreslí jeho zvětšený klon.
  • Zvětšený graf má optimalizované velikosti písem a popisky pro lepší čitelnost.
  • U grafu v popup okně se ve zvětšeném zobrazení automaticky zapíná osa Y pro teplotní řadu (y-temp), což usnadňuje odečítání hodnot.
  • Zavření modalu je možné stiskem klávesy Escape, kliknutím na tlačítko X nebo kliknutím mimo samotnou kartu grafu.
  • Aktualizace pokynů pro AI agenty:
  • Přidána nová metodika a standard pro práci s grafy a jejich zoomování do klientského skillu styling-frontend.
v1.22.0 2026-07-05
Přidáno
  • Zobrazení názvu stanice při najetí myší (tooltip):
  • Každý marker na mapě má nyní při najetí myší (hover) zobrazený elegantní, přizpůsobený Leaflet tooltip.
  • Tooltip přehledně zobrazuje název stanice, popřípadě i město/obec v závorce, pokud se název liší (např. „Znojmo (Kuchařovice)“).
  • Vzhled tooltipu byl kompletně stylován pomocí CSS proměnných tak, aby respektoval světlý i tmavý motiv aplikace.
v1.21.2 2026-07-04
Opraveno
  • Sjednocení metodiky výpočtu absolutních rekordů:
  • Opraven rozdíl v počítání překonaných absolutních rekordů mezi klientskou a serverovou částí.
  • V calculate_global_stats.py se nově počet stanic s překonaným absolutním rekordem počítá přesně podle logiky frontendu (kontrolou all_time_overrides pro daný den), čímž se zohlední případ, kdy byl rekord překonán v předchozích dnech téhož roku a dnešní teplota jej již znovu nepřekonala.
  • Navýšena verze aplikace na 1.21.2 pro cache-busting.
v1.21.1 2026-07-04
Opraveno
  • Zobrazení absolutních rekordů v grafu aktivity:
  • Opravena chyba, kdy se překonané absolutní rekordy nezobrazovaly v grafu z důvodu mezipaměti prohlížeče.
  • Byl navýšen cache-busting a verze aplikace na 1.21.1, což vynutí okamžité stažení nového JSONu a aktualizovaného klientského skriptu.
v1.21.0 2026-07-04
Přidáno
  • Celorepublikové grafy a statistiky teplotních rekordů:
  • Přidán nový backend skript scripts/calculate_global_stats.py pro agregaci celorepublikových teplotních dat za rok 2026.
  • Výpočet agreguje naměřená maxima všech aktivních stanic, jejich dlouhodobé historické průměry (normál) a absolutní denní rekordy. Spočítá průměrnou teplotní anomálii ČR (odchylku od normálu v °C) a počty stanic s překonaným nebo vyrovnaným denním rekordem.
  • Skript podporuje plný rebuild historie (--rebuild) a inkrementální aktualizaci.
  • Integrace inkrementální aktualizace do scripts/update_current.py na konci procesu. Globální statistiky se přepočítávají pouze pro dny, které byly aktualizovány v aktuálním hodinovém či denním běhu.
  • Výstupní data se ukládají do vysoce optimalizovaného statického JSON souboru web/data/global_stats.json (cca 30 KB pro celý rok), což zamezuje lagování a zajišťuje bleskové načtení na klientovi.
  • Upraven frontend v web/index.html – v záhlaví panelu přibylo tlačítko 📊 Celorepublikové grafy a nové modální okno s třítabovou navigací:
  • V modálním okně přibyl přehledný řádek ukazující data pro aktuálně aktivní den v mapě a spodní KPI boxy se statistikami celého roku (nejteplejší/nejchladnější den, den s nejvíce rekordy, průměrná anomálie roku).
  • Zaručena plná mobilní responzivita a podpora světlého/tmavého motivu.
v1.20.4 2026-07-04
Opraveno
  • Oprava stahování uzavřených měsíců (cesty na serveru ČHMÚ):
  • Opravena chyba v scripts/update_current.py, kdy se po uzavření měsíce (červen) nenačetla kompletní denní data, protože ČHMÚ přesouvá soubory uzavřených měsíců do příslušných dvouciferných podsložek (např. /06/), zatímco aktuální měsíc je přímo v kořeni /recent/data/daily/.
  • Skript nyní správně stahuje data podle stavu měsíce (aktuální v kořeni, uzavřený v podsložce) s automatickým obousměrným fallbackem.
  • Opravena a upřesněna dokumentace v docs/data_sources.md.
v1.20.3 2026-07-03
Opraveno
  • Automatická aktualizace a dočištění neoficiálních dat:
  • Opravena chyba v update_current.py, kdy se dny starší než 3 dny (např. 30. červen při běhu 3. července) přestaly aktualizovat a zůstávaly trvale ve stavu "částečná data" (mixed).
  • Skript nyní automaticky vyhledává a zařazuje do zpracování všechny dny za posledních 45 dní, které nemají příznak "data_source": "official".
  • Tím dojde k automatickému stažení a nahrazení live dat oficiálními daty ČHMÚ, jakmile je ústav zpětně zveřejní.
v1.20.2 2026-07-02
Přidáno
  • Barevný přechod okraje markerů (okruží bodů) podle rekordů:
  • Okraj bodu na mapě (marker-pin border) již nepoužívá pouze fixní barvy (zelená/červená/černobílá), ale plynule přechází ze zelené do červené a z červené do tmavě modré (ve světlém režimu) / bílé (v tmavém režimu) v závislosti na tom, jak blízko je naměřená teplota k rekordům.
  • Přechod ze zelené (#10b981) do červené (#ef4444) začíná od hodnoty denní rekord - 5.0 °C a dosahuje plné červené při dosažení denního rekordu.
  • Pokud teplota stoupá dále k absolutnímu rekordu, okraj plynule přechází do tmavě modré/černé #0f172a (světlé téma) / bílé #ffffff (tmavé téma).
  • Limit rozdílu od denního rekordu, od kterého začíná barevný přechod, je definován jako konfigurovatelná konstanta RECORD_TRANSITION_THRESHOLD = 5.0 v web/js/app.js.
  • Sjednocena vizuální prezentace celého okruží: pulzující i statický glow (::after stín) nově využívá stejné dynamické CSS proměnné jako samotný okraj markeru. Tím se odstranila chyba zobrazení dvou různých barev (např. černého vnitřního kroužku v červené záři) a bod má nyní vždy jedno barevně konzistentní pulzující okruží.
Změněno
  • Indikace nejvyšší teploty dne (korunka): Stanice s nejvyšší teplotou dne na mapě již nepoužívá fixní zlatavý okraj (state-highest), ale má standardní dynamicky počítaný okraj (zelený/přechodový/červený/černý) podle své naměřené hodnoty vůči svým vlastním rekordům. Značka s korunkou 👑 na markeru zůstává plně zachována. Stejně tak byla legenda v levém panelu v sekci Indikace stavů stanic upravena, aby namísto zlatavého puntíku zobrazovala ikonku korunky 👑.
v1.20.1 2026-07-02
Opraveno
  • Oprava aktualizace nedávno uzavřených měsíců a cesty k datům:
  • Opravena chyba v update_current.py, kdy se po přechodu do nového měsíce přestala aktualizovat data za poslední dny předchozího měsíce kvůli předčasnému zmrazení cache.
  • Nově se pro měsíce, které skončily před méně než 5 dny, kontroluje stáří cache a případně se stahují aktualizovaná data (limity: 2 hodiny pro aktuální měsíc, 12 hodin pro nedávno uzavřený měsíc). Pro plně uzavřené měsíce (>= 5 dní) se cache považuje za finální pouze tehdy, pokud byla stažena/upravena alespoň 3 dny po skončení měsíce.
  • Odstraněna nefunkční dvouciferná podsložka {MM}/ z URL pro stahování uzavřených měsíců, kterou ČHMÚ na svém serveru zrušil (všechny recentní měsíce jsou nyní dostupné přímo v kořenové složce).
v1.20.0 2026-06-30
Přidáno
  • Zobrazení doplňkových meteorologických veličin a tabulkový přehled:
  • Backend (update_current.py a get_today_10m_data) nově z 10m JSON dat ČHMÚ stahuje a zpracovává historii pro relativní vlhkost (H), tlak vzduchu (P), srážkové úhrny (SRA10M), průměrnou rychlost větru (Fprum), nárazy větru (Fmax), rosný bod (TPM) a sluneční svit (SSV10M).
  • Tato data jsou serializována do denních JSON/GeoJSON souborů.
  • Na klientské straně byla do Leaflet popupu přidána nová záložka Ostatní, která v přehledné tabulce zobrazuje aktuální hodnoty všech dostupných veličin (včetně teploty) s příslušnými jednotkami.
  • Uspořádání popup detailu do záložek (Tabs):
  • Detail stanice v mapovém popupu je nyní z důvodu úspory místa na mobilních zařízeních organizován do tří interaktivních záložek: Teplota, Ostatní a Graf.
  • Plně kombinovaný a přizpůsobitelný denní graf:
  • Na záložce Graf se nyní dynamicky vykresluje jeden přehledný kombinovaný graf pro všechny dostupné denní průběhy veličin (teplota, vlhkost, tlak, srážky, rychlost větru, nárazy větru, rosný bod, sluneční svit).
  • Y-osy jsou skryté pro úsporu místa. Přesné hodnoty s příslušnými jednotkami (°C, %, hPa, mm, m/s, s) se zobrazují v interaktivním tooltipu při najetí na body.
  • V horní části grafu je zobrazena klikatelná legenda, umožňující uživatelům skrýt/zobrazit jednotlivé veličiny dle potřeby.
  • Graf se inicializuje líně (lazy-load) až po prvním přepnutí na záložku Graf, což předchází chybám výpočtu rozměrů u skrytých canvasů.
Změněno
  • Zvětšení rozměrů popupu a grafu: Navýšena šířka popupu na 360px (responzivně max. 85vw na mobilech) a výška grafu z 115px na 320px pro lepší čitelnost.
Opraveno
  • Oprava ořezání/zmrazení denní historie: Opravena chyba v update_current.py, kdy se dnešní (aktuální) historie v merge logic přepisovala staršími verzemi dat z existujícího souboru. Dnešní data jsou nyní vždy kompletní až po poslední měření.
v1.19.0 2026-06-30
Přidáno
  • Vizualizace stáří dat a zaostávání stanic:
  • Do JSON výstupu pro dnešní den (current-YYYY-MM-DD.json) bylo přidáno pole last_update_time s časem posledního měření z 10minutového teplotního průběhu.
  • Na klientské straně (frontend) se nyní automaticky vypočítává lag (zpoždění) poslední aktualizace stanice vůči celkovému času generování dat či nejčerstvějšímu měření.
  • Stanice se zpožděním větším než 30 minut jsou vizuálně zjemněny (fading/opacity) úměrně stáří dat (od 100% u čerstvých dat po minimum 45% u dat starších než 2 hodiny). Toto se promítá jak na mapové body (marker-pin), tak na karty stanic v postranním panelu.
  • U zaostávajících stanic se na kartách v postranním panelu zobrazuje čas posledního měření (např. (v 07:50)).
  • V popupu na mapě se vedle data měření maxima nově zobrazuje řádek Poslední měření: HH:MM pro lepší diagnostiku.
  • Jemnější a plynulejší zoomování kolečkem myši:
  • Na mapě byl zapnut zlomkový zoom (fractional zoom) s krokem 0.25 (namísto původního skoku o 1.0) a zpomaleno přibližování při scrollování myší (wheelPxPerZoomLevel: 150), což zabraňuje necitlivým skokům měřítka.
Změněno
  • Pravidla detekce zaostávajících stanic (Backend):
  • Zrušeno tiché odstraňování (nullifikace) teplot a časů u stanic, které zaostávají za ostatními. Data jsou plně zachována pro zobrazení a vizuální odlišení na frontendu.
  • Diagnostika zaostávajících stanic (nullify_stale_today_stations) na backendu byla opravena tak, aby zpoždění měřila podle skutečného času posledního měření v historii teplot (temp_history) namísto času výskytu denního maxima (time), což způsobovalo falešné detekce výpadků.
v1.18.0 2026-06-30
Přidáno
  • Dnešní teplotní průběh v popup okně:
  • Do popup oken všech meteorologických stanic na mapě byl přidán malý interaktivní graf zobrazující teplotní průběh pro aktuální den z live 10minutových dat ČHMÚ.
  • Graf využívá knihovnu Chart.js a je plně responzivní, automaticky se přizpůsobuje tmavému i světlému režimu.
  • Teplotní historie se stahuje na backendu ze 10m JSON datových sad ČHMÚ, ukládá se do current-YYYY-MM-DD.json a její integrita je zachována i při přechodu do minulých dnů (merge stávající historie).
v1.17.0 2026-06-29
Přidáno
  • Roční teplotní grafy:
  • Do popup oken všech meteorologických stanic na mapě bylo přidáno tlačítko 📊 Roční teplotní průběh.
  • Po kliknutí se otevře moderní modální okno s interaktivním linkovým grafem (využívající knihovnu Chart.js s plným zabezpečením integrity SRI).
  • Graf zobrazuje historické rozmezí teplot (stínované pásmo mezi absolutním minimem a maximem pro každý z 366 kalendářních dnů), dlouhodobý průměr (přerušovaná čára) a naměřené teploty v letošním roce 2026 (čára končící aktuálním dnem).
  • Graf je plně responzivní a automaticky přizpůsobuje své barvy světlému i tmavému motivu.
  • Pod grafem se zobrazuje přehledná mřížka s klíčovými statistikami stanice (historické a letošní teplotní extrémy).
  • Změna licence kódů (Právní ochrana):
  • Odstraněna licence MIT pro vlastní kód aplikace.
  • Zdrojový kód projektu byl přelicencován pod Proprietární licenci (Všechna práva vyhrazena) pro zamezení nežádoucího komerčního kopírování.
  • Patičky v postranním panelu i na statických podstránkách byly upraveny na Kód: Všechna práva vyhrazena. Otevřená data ČHMÚ a cizí knihovny jsou nadále řádně citovány.
  • Automatická aktualizace ročních dat: Skript update_current.py byl rozšířen, aby při stahování denních teplot automaticky zrcadlil naměřená maxima do příslušných ročních souborů stanic.
v1.16.0 2026-06-29
Přidáno
  • Zvýraznění nejvyšší teploty: Na stanici (stanice) s nejvyšší teplotou vybraného dne se zobrazuje zlatý okraj a ikona královské korunky (👑) v pravém horním rohu markeru. Marker má zvýšený z-index, takže se vykresluje nad ostatními překrývajícími se body.
  • Dynamické extrémy v panelu: Pod statistickou mřížku v postranním panelu byla přidána nová sekce, která přehledně zobrazuje aktuální minimum a maximum (včetně názvu stanice) na mapě. Tyto údaje se dynamicky aktualizují a reagují na textové vyhledávání a rychlé filtry.
  • Barevné odlišení okrajů markerů:
  • Teploty, které nepřekročily žádný rekord (normální stav), mají nově zelený okraj pro lepší konzistenci.
  • Stanice bez měření (N/A) mají šedý okraj.
  • Legendu postranního panelu jsme doplnili o vysvětlení všech 5 stavů.
  • Pravidlo pro čištění TODO: Do AGENTS.md bylo přidáno provozní pravidlo ukládající AI agentům povinnost odstraňovat dokončené úkoly z TODO.md při zápisu změn do Changelogu.
v1.15.4 2026-06-29
Změněno
  • Logika aktualizace dat (update_current.py):
  • Odstraněno automatické přeskakování uzavřených/oficiálních dnů na úrovni skriptu. Tyto dny jsou nyní řádně zpracovávány a o jejich (ne)aktualizaci rozhoduje mechanismus ETag / If-None-Match a porovnání obsahu souborů.
  • Parametr --force byl implementován i do vnitřních stahovacích funkcí (get_station_month_data a get_today_10m_data), kde nyní při vynucení obchází lokální vypršení časového limitu cache.
v1.15.3 2026-06-29
Změněno
  • Přejmenování tlačítka pro zobrazení naměřených teplot: Přejmenováno tlačítko „Aktuální“ v přepínači hodnot na „Denní max.“ a jeho tooltip na „Maximum pro zvolený den“ pro zpřesnění významu zobrazené hodnoty v mapových bodech.
v1.15.2 2026-06-29
Změněno
  • Optimalizace aktualizace dat (update_current.py):
  • Skript nyní porovnává nově stažená data s existujícími soubory current-DATE.json. Pokud v nich nedošlo k žádné změně (např. protože ČHMÚ data na svém serveru neaktualizoval a vrátily se 304 HTTP odpovědi), soubor se nepřepisuje a do konzole se nevypisuje info o jeho vygenerování.
  • U starších dnů, které již mají kompletní úřední data (data_source: "official"), se stahování a aktualizace dat automaticky přeskakuje.
  • Přidán parametr --force (nebo -f) pro vynucení kompletního znovustažení a přepsání všech dní bez ohledu na jejich status.
  • Potlačeno duplicitní vypisování zpráv [PŘEKONÁN DENNÍ/ABSOLUTNÍ REKORD] pro dny, kde již byla daná teplota zaznamenána v minulých spuštěních.
  • Zajištěno sloučení a uchování schopností stanic (capabilities) z předchozích běhů u neaktualizovaných stanic.
v1.15.1 2026-06-29
Přidáno
  • Rozlišení zdroje dat (live vs. úřední): Každý denní JSON soubor nyní obsahuje pole data_source ("live" / "official" / "mixed") a každá stanice pole source. Frontend zobrazí pod statistikami informační badge, pokud jsou data průběžná (live, 10m) nebo smíšená — úřední denní data badge nezobrazují (jsou standardní stav).
  • Zachování live dat při přechodu dne: Pokud ČHMÚ ještě nezveřejnil úřední denní data pro včerejšek, skript nyní zachová data stažená 10m endpointem z doby, kdy byl den aktuální (source: "live"), místo přepsání nullem. Jakmile ČHMÚ data publikuje, automaticky se upgradují na "official".
Opraveno
  • [BUGFIX] Oprava URL šablony ČHMÚ (update_current.py): Odstraněn chybný subfolder /{mm}/ z URL šablony pro měsíční JSON. Tento subfolder způsoboval, že všechny síťové dotazy na ČHMÚ pro aktuální měsíc končily chybou 404 a skript byl nucen používat starou cache z disku.
  • [BUGFIX] Zrušení cachování statusu 404 (update_current.py): Odstraněna logika cachování chybových 404 stavů. Pokud ČHMÚ vrátí 404 (např. při chybě v URL nebo dočasné nedostupnosti), stav se již neukládá do .meta souborů a neblokuje budoucí stahování.
  • [BUGFIX] Fallback kopírující data předchozího dne (update_current.py): Odstraněna chybná logika, která při absenci dat pro historický den D dosazovala data z nejbližšího staršího dne D-1. Toto způsobovalo, že dva po sobě jdoucí dny měly identická data stanic. ČHMÚ běžně publikuje včerejší data se zpožděním — správným chováním je null (nyní nahrazeno mergem live dat), ne tichá kopie předchozího dne.
  • [BUGFIX] Cache semantic check pro aktuální měsíc (update_current.py): Odstraněna chybná podmínka any(d in tma_records for d in month_dates), která způsobovala, že 25 hodin stará cache měsíčního JSONu byla použita jako platná, pokud v ní existovalo alespoň jedno z požadovaných dat (typicky D-2). Věkový limit 2 hodiny se tím zcela bypasoval. Opraveno na čistě věkový check bez sémantické kontroly přítomnosti konkrétních datumů.
v1.15.0 2026-06-28

Tato verze přidává automatickou detekci stanic se zastaralými daty na backendu.

Přidáno
  • Detekce zastaralých stanic (update_current.py): Skript po stažení dat pro dnešní den vypočítá medián časů posledních měření všech aktivních stanic. Stanicím, jejichž poslední měření zaostává o více než 60 minut za tímto mediánem (tj. mají jen staré ranní hodnoty zatímco ostatní stanice již reportují odpolední data), je automaticky nastaven temp: null. Na frontendu se pak zobrazí jako stanice bez dat (hodnota N/A) — stejně jako ostatní stanice bez měření pro daný den.
v1.14.1 2026-06-28

Tato verze opravuje chování mapy a centrování při výběru stanice ze seznamu, zejména na mobilních zařízeních a v režimu na stojato (portrait).

Opraveno
  • Centrování a zobrazení popupů: Odstraněn hardcoded X-offset (180px) a předimenzovaný autoPanPadding (420px), které způsobovaly posouvání markerů a popupů mimo obrazovku na užších displejích a v zobrazení na stojato. Mapa se nyní centruje přímo na souřadnice stanice a Leaflet automaticky zajistí viditelnost celého popupu.
  • Sbalení panelu na mobilu: Při výběru stanice ze seznamu na mobilních zařízeních (šířka displeje <= 600px) se postranní panel automaticky sbalí a mapa se překreslí, aby byla stanice a její popup plně viditelná na displeji.
v1.14.0 2026-06-28

Tato verze řeší temporalitu absolutních rekordů během roku v kalendáři a zobrazuje předchozí historický rekord v popupu stanice.

Přidáno
  • Historické rekordy v popupu: Pokud byl na stanici během aktuálního roku (2026) překonán absolutní rekord, v popupu stanice se zobrazí jak nově platné maximum, tak pro srovnání i původní historický rekord z ČHMÚ databáze (s textem Předchozí hist. rekord).
Změněno
  • Temporalita all-time rekordů: Absolutní rekordy se již nepromítají v kalendářní historii zpětně (např. při pohledu na 26. 6. neuvidíte rekord padlý až 27. 6.). Změny rekordů se propisují jako overrides chronologicky přímo do denních JSON souborů current-YYYY-MM-DD.json.
v1.13.2 2026-06-28

Tato verze přináší opravy chyb v porovnávání rekordů a zpřesňuje texty na podstránce O projektu.

Změněno
  • Striktní porovnání rekordů: Opraveno porovnání teplot na klientské straně z >= na strictly >. Vyrovnání rekordu (např. když je dnešní teplota stejná jako absolutní rekord) se již nezobrazuje jako „překonané“.
  • Zachování historických rekordů: Opravena chyba, kdy skript update_current.py při překonání rekordu přepisoval databázi stations_meta.json. Databáze rekordů nyní zůstává statická jako oficiální historie a překonání se vyhodnocuje dynamicky na klientovi, takže uživatel vidí původní překonaný rekord i aktuální naměřenou hodnotu.
  • Neutralizace textů: Přeformulovány pasáže o denních a absolutních rekordech na podstránce O projektu za účelem odstranění bulvárních a neprofesionálních obratů a zvýšení věcné neutrality.
v1.13.0 2026-06-28

Tato verze přináší kompletní optimalizaci přenosových formátů a zavedení kalendářní historie s podporou libovolného počtu dní.

Přidáno
  • Historie z kalendáře: Uživatelé mohou nově kliknout na kalendář v postranním panelu a zobrazit si teplotní rekordy pro libovolný den z historie projektu.
  • Šipky pro krokování dní: Přidána tlačítka pro posun o den zpět (◀) a den vpřed (▶) pro snadnější navigaci v kalendářní historii.
  • Klávesové zkratky: Uživatelé mohou krokovat dny pomocí klávesových zkratek Ctrl + Šipka vlevo a Ctrl + Šipka vpravo.
  • Časy rekordů: V grafech a popupech se nově zobrazuje přesný čas překonání historických denních a absolutních rekordů, pokud byl zaznamenán.
Změněno
  • Dynamický výběr dne: Hardcoded přepínače byly nahrazeny dynamickými rychlými tlačítky (Dnes, Včera a předchozí den) a integrovaným HTML5 kalendářovým výběrem.
  • Sloučená data a obrovská úspora přenosů: Všechny denní rekordy pro celý rok byly sloučeny přímo do web/data/stations_meta.json. Soubory měření current-DATE.json byly zjednodušeny tak, aby obsahovaly pouze aktuální naměřené teploty a časy. To snížilo velikost denních souborů měření na méně než 4KB (více než 98% úspora přenosového pásma!).
  • Vizualizace rekordů bez měření: Aplikace nově umožňuje vizualizovat historické denní rekordy pro jakýkoliv den v roce na mapě (v režimech "Denní rek." a "Abs. rek."), i když pro daný den neexistuje soubor s aktuálním měřením (který se zobrazí jako "N/A" pouze v režimu "Aktuální").
v1.12.0 2026-06-28

Tato verze přináší podrobné vysvětlení a přehledovou tabulku stanic a jejich datových možností na podstránku O projektu.

Přidáno
  • Vysvětlení nedostupnosti časů: Na podstránku O projektu byla přidána sekce objasňující, proč u některých stanic může chybět včerejší čas maxima (rozdíl mezi typy stanic ČHMÚ).
  • Generovaná tabulka stanic: Přidána přehledná tabulka všech 256 aktivních stanic v projektu, která ukazuje kód (ID) a podporu jednotlivých datových toků.
v1.11.0 2026-06-28

Tato verze přináší zprovoznění vizualizace dnešních (průběžných) teplotních maxim a zviditelňuje přepínací tlačítka „Včera / Dnes“.

Přidáno
  • Zprovoznění dnešních průběžných teplot: Na mapě a v seznamu jsou nyní zobrazována aktuální denní maxima teplot (aktualizovaná každou hodinu) včetně času jejich dosažení.
Změněno
  • Zobrazení přepínače dní: V hlavním zobrazení aplikace v index.html byl zviditelněn přepínač „Včera / Dnes“, který umožňuje interaktivně přepínat mezi kompletními včerejšími daty a průběžnými dnešními daty.
v1.10.0 2026-06-28

Tato verze přináší nový filtr „Nepřekonán“ a doplňuje plnou synchronizaci filtrace s mapou.

Přidáno
  • Filtr „Nepřekonán“: Přidáno třetí rychlé filtrační tlačítko v postranním panelu pro zobrazení pouze stanic, kde nebyly překročeny žádné rekordy (zelená barva).
  • Filtrace bodů na mapě: Vyhledávání a rychlé filtry v postranním panelu nyní dynamicky filtrují a skrývají/zobrazují body přímo na mapě.
Změněno
  • Úprava popisků filtrů: Filtrační tlačítka byla zkrácena a zpřehledněna pro snadnější použití na mobilních zařízeních.
v1.9.0 2026-06-28

Tato verze výrazně optimalizuje výkon aplikace a snižuje spotřebu procesoru.

Přidáno
  • Možnost vypnutí animací: Nový přepínač „Animovat překročení" v postranním panelu umožňuje uživateli vypnout pulzující animace mapových markerů pro úsporu výkonu a baterie.
Opraveno
  • Výrazná optimalizace výkonu: Odstraněním náročných CSS grafických efektů (rozostření pozadí) a optimalizací překreslování mapy došlo k drastickému snížení spotřeby baterie a zrychlení aplikace.
v1.8.0 2026-06-27

Tato verze přináší integraci statických podstránek a zavedení šablonovacího systému pro oddělení textového obsahu od vzhledu webu.

Přidáno
  • Nové statické podstránky: Přidány sekce „O projektu“ a „Ochrana soukromí“ s plnou podporou tmavého režimu.
Změněno
  • Navigace v patičce: Do patičky postranního panelu v index.html byly přidány odkazy na nově vytvořené statické podstránky.
v1.7.0 2026-06-27

Tato verze vizuálně zjednodušuje uživatelské rozhraní pro data zveřejňovaná jednou denně.

Změněno
  • Skrytí přepínače dne: Přepínač „Zobrazený den“ byl v postranním panelu skryt pro zamezení zmatení uživatelů u denně aktualizovaných dat.
v1.6.0 2026-06-27

Tato verze přináší optimalizaci a zrychlení stahování dat, sémantické cachování a pročištění seznamu sledovaných míst.

Přidáno
  • Rychlejší načítání a úspora dat: Implementace sémantického cachování a podmíněných přenosů výrazně urychlila spuštění a omezila zbytečné stahování nezměněných souborů.
Změněno
  • Zpřehlednění seznamu stanic: Z konfigurace bylo vyřazeno 73 neaktivních stanic, které již neměří teplotu vzduchu, seznam se zredukoval na 256 aktivních teplotních stanic.
v1.5.2 2026-06-27

Tato verze přináší kompletní přepracování a sjednocení vizuálního stylu ovládacích prvků v postranním panelu.

Změněno
  • Sjednocení vzhledu a čitelnosti (A11y): Přepínače a rychlé filtry v panelu byly vizuálně sjednoceny a kontrast aktivních tlačítek byl zvýšen pro lepší čitelnost.
v1.5.1 2026-06-27

Tato verze přináší drobné opravy chování a stylů tlačítek rychlých filtrů.

Opraveno
  • Drobné opravy vzhledu: Opraveno chování tlačítek rychlých filtrů (překrývání stavů při přejetí myší a nežádoucí systémové obrysy po kliknutí).
v1.5.0 2026-06-27

Tato verze přináší vyčištění nastavení zobrazení, sjednocení barev ohraničení karet stanic a přidání rychlých filtrů.

Přidáno
  • Rychlé filtry seznamu: Přidána tlačítka Denní rekordy a Absolutní rekordy pro okamžité filtrování stanic v seznamu.
  • Zpřehlednění barev karet: Vzhled karet v seznamu byl vizuálně sjednocen s typem překročení (červená pro denní rekord, černá/bílá pro absolutní rekord).
v1.4.0 2026-06-27

Tato verze přináší možnost horizontálního drag-resizingu panelu a plnou responzivitu pro menší obrazovky.

Přidáno
  • Nastavitelná šířka panelu: Přidán resize handle na pravém okraji sidebaru umožňující měnit šířku panelu tažením.
Změněno
  • Responzivní zobrazení na mobilech: Na mobilních telefonech se panel chová jako celovýškový vysouvací overlay.
v1.3.2 2026-06-27

Tato verze přináší zobrazení času měření maxima v detailech stanic a zpřehlednění grafů.

Přidáno
  • Čas měření maxima: V detailu stanice (popupu) se nyní zobrazuje přesný čas, kdy bylo naměřeno dnešní maximum.
Změněno
  • Zpřehlednění detailu stanice: Absolutně pozicované bubliny nad a pod teplotním pruhem byly nahrazeny čistým legendovým přehledem pod grafem.
v1.3.1 2026-06-27

Tato verze přináší opravu syntaxe a zavedení nové horizontální teplotní škály (gauge bar).

Přidáno
  • Nový teploměr: V popup oknech stanic byl sloupcový graf nahrazen horizontální teplotní škálou od -10 °C do 45 °C s ukazateli.
v1.3.0 2026-06-26

Tato verze přináší změnu barevného kódování stanic na základě teploty a podmíněné pulzování markerů.

Přidáno
  • Barevná teplotní stupnice: Kruhové značky na mapě se vybarvují podle aktuální teploty (od modré pro -10 °C po červenou pro 40 °C).
  • Světelná indikace rekordů: Přidáno pulsování (červené pro denní rekord, černé/bílé pro absolutní) kolem bodů na mapě.
  • Rychlé přepínání režimů: Volba zobrazení hodnot byla předělána na přímá tlačítka pro přepnutí na jedno kliknutí.
v1.2.1 2026-06-26

Tato verze přináší optimalizace backendového stahování dat.

v1.2.0 2026-06-26

Tato verze přináší kompletní rozšíření databáze na všechny dostupné stanice ČHMÚ a zobrazení verze v rozhraní.

Přidáno
  • Rozšíření o všechny stanice: Sledování bylo rozšířeno na celkem 256 meteorologických stanic ČHMÚ.
  • Zobrazení verze v UI: Do patičky ovládacího panelu byl přidán štítek s verzí aplikace.
v1.1.0 2026-06-26

Tato verze přináší kompletní pokrytí krajských měst a výrazné vylepšení uživatelského rozhraní.

Přidáno
  • Krajská města: Pokrytí bylo rozšířeno na všechna krajská sídla v ČR.
  • Vyhledávání stanic: Přidáno vyhledávací pole pro rychlé hledání v seznamu.
  • Sbalovací sekce: Nastavení v panelu jsou nově sbalena do praktických modulů.
  • Dlaždice se statistikami: Přidán přehled počtu stanic překračujících rekordy.
v1.0.0 2026-06-26

První stabilní verze (Proof of Concept) pro ověření funkčnosti stahování a porovnávání dat.

Přidáno
  • Spuštění projektu: První verze vizualizace teplotních rekordů pro 4 testovací města (Praha, Brno, Ostrava, Zlín) s interaktivní mapou a přepínáním motivu vzhledu.