# worldmonitor changelog > worldmonitor release notes. - Vendor: worldmonitor - Category: AI - Official site: https://worldmonitor.app/ - Tracked by: What's New (https://whatsnew.fyi/product/worldmonitor) - Harvested from: GitHub (koala73/worldmonitor) - Entries below: 10 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. ## Releases ### v2.5.23 — World Monitor v2.5.23 - Date: 2026-03-01 - Version: v2.5.23 - Original notes: https://github.com/koala73/worldmonitor/releases/tag/v2.5.23 - Permalink: https://whatsnew.fyi/product/worldmonitor/releases/v2.5.23 - **fixed** — Make drag handles always visible in world-clock - **fixed** — Merge duplicate .wc-row CSS rules in world-clock - **added** — Add drag-to-reorder city rows in world-clock - **fixed** — Allow localhost in media-src for proxied HLS and remove CNN HLS from CSP - **fixed** — Redesign World Clock with proper layout and working settings - **fixed** — Resolve sidecar 401s, variant lock, and registration form on desktop - **fixed** — Render live news fullscreen above all UI elements - **added** — Add Czech (cs) translation - **added** — Add World Clock panel with live financial city times - **fixed** — Add 12 missing translation keys across all 18 locales - **fixed** — Add noise filters for 7 unresolved Sentry issues - **changed** — Reduce default-enabled feed sources and add locale-aware boost - **fixed** — Sanitize Hebrew Unicode control characters for reliable translation in OREF - **removed** — Remove LiveNOW from FOX channel due to YouTube error 150 - **changed** — Backfill missing translations for 17 locales - **fixed** — Improve mobile responsiveness with collapsible map, panel sizing, and font bump - **added** — Add Fox News HLS stream and fullscreen toggle to live-news - **added** — Enable clicking breaking news banner to scroll to source panel - **added** — Add 104 missing translation keys for Italian and Spanish - **fixed** — Stop auto-reload on service worker update in PWA ##### What's Changed - fix(world-clock): make drag handles always visible (#715) - fix(world-clock): merge duplicate .wc-row CSS rules (#714) - feat(world-clock): add drag-to-reorder city rows (#712) - fix(csp): allow localhost in media-src for proxied HLS & remove CNN HLS (#711) - fix(panel): redesign World Clock with proper layout and working settings (#710) - fix(desktop): resolve sidecar 401s, variant lock, and registration form (#v2.5.23) (#709) - fix(panel): live news fullscreen now renders above all UI elements (#708) - Add Czech (cs) translation (#701) - chore: bump version to 2.5.22 & comprehensive README update (#706) - feat(panel): add World Clock panel with live financial city times (#705) - fix(i18n): add 12 missing translation keys across all 18 locales (#703) - fix(sentry): add noise filters for 7 unresolved issues (#698) - feat(feeds): reduce default-enabled sources & add locale-aware boost (#699) - fix(oref): sanitize Hebrew Unicode control chars for reliable translation (#694) - fix(live-news): remove LiveNOW from FOX channel (YouTube error 150) (#693) - feat(i18n): backfill missing translations for 17 locales (#692) - fix(web): improve mobile responsiveness — collapsible map, panel sizing, font bump (#688) - feat(live-news): add Fox News HLS stream & fullscreen toggle (#689) - feat(breaking-news): click banner to scroll to source panel (#690) - feat(i18n): add 104 missing translation keys for Italian and Spanish (#687) - fix(pwa): stop auto-reload on service worker update (#686) - perf(web): lazy-load DeductionPanel to exclude dompurify from web bundle (#685) - feat(feeds): add Asharq News & Business to Middle East (#683) - feat(live-news): add CNN & CNBC HLS streams via sidecar proxy (#682) - fix(sentry): triage 10 unresolved issues — 2 code fixes + 8 noise filters (#681) - feat: implement deduct situation feature (#636) (#642) - feat(rag): worker-side vector store with opt-in Headline Memory (#675) - fix(country-intel): align strike/aviation matching with CII bounds fallback (#677) - feat(settings): badge pulse animation with settings toggle (#676) - feat: persist OREF history to Redis + retry bootstrap (#674) - fix(market): replace dead Yahoo Finance Gulf index tickers (#672) - feat(market): add Gulf Economies panel with GCC indices, currencies & oil (#667) - fix(ci): strip bundled GPU/Wayland libs from AppImage to fix black screen on non-Ubuntu distros (#666) - fix(map): stabilize deck.gl layer IDs to prevent interleaved-mode null crash (#664) - ui(investments): redesign panel with card layout and collapsible filters (#663) - feat(oref): add 1,478 Hebrew→English location translations + wire sirens into breaking news banner (#661) - feat: expand live channels with HLS support, Oceania region, and YouTube fallbacks (#660) - feat(api): add cache-purge edge function for admin Redis cache invalidation (#657) - fix(oref): add static Hebrew→English translations for common alert types (#655) - fix(finance): restore 6 missing news categories + add finance favicons (#654) - fix(oref): grab newest history records and preserve bootstrap data (#653) - fix(server): cache hardening across 27 RPC handlers (#651) - feat: add Oman Observer and NDTV feeds + NDTV live TV (#650) - perf(map): optimize DeckGLMap pan/zoom by deferring work off hot path (#620) - fix(oref): show history count in badge and stop swallowing fetch errors (#648) - feat: add Redis caching for GPS jamming data (#646) - fix: remove accidental intelhq submodule entry (#640) - Cost/traffic hardening, runtime fallback controls, and PostHog removal (#638) - fix(desktop): route register-interest to cloud when sidecar lacks CONVEX_URL (#639) - fix(sentry): null guards for classList teardown crashes + noise filters + regex fix (#637) - fix(desktop): backoff on errors to stop CPU abuse + shrink settings window (#633) - fix(linux): sanitize env for xdg-open in AppImage (#631) - fix(sidecar): add AVIATIONSTACK_API and ICAO_API_KEY to env allowlist (#632) - fix(mi _[Truncated at 4000 characters — full notes: https://github.com/koala73/worldmonitor/releases/tag/v2.5.23]_ ### v2.5.21 — World Monitor v2.5.21 - Date: 2026-03-01 - Version: v2.5.21 - Original notes: https://github.com/koala73/worldmonitor/releases/tag/v2.5.21 - Permalink: https://whatsnew.fyi/product/worldmonitor/releases/v2.5.21 - **added** — Native mobile map experience with location detection and full feature parity - **added** — Show history waves timeline with translation and NaN fix for OREF - **added** — GPS/GNSS jamming map layer with CII integration - **added** — NOTAM closure detection via ICAO API for aviation - **added** — Wire theater posture and breaking news into strategic risk score - **added** — RT (Russia Today) RSS feeds - **added** — RT channel via HLS with HLS enabled on web - **added** — Bootstrap OREF 24h history on startup - **added** — Hook security advisories into CII scoring and country briefs - **added** — Iran tab to live webcams panel - **added** — AVIATIONSTACK_API to desktop settings page - **added** — Wire OREF sirens into CII score and country brief - **added** — OREF sirens panel with Hebrew-to-English translation - **added** — Telegram Intel panel - **added** — Enhance Iran events popup with severity badge and related events - **added** — Integrate Iran strike events into CII scoring, country brief, and timeline - **added** — Day/night solar terminator overlay to map - **added** — Iran events seed script and latest data - **changed** — Increase aviation cache TTL from 30min to 2h to reduce API quota usage - **changed** — Raise news refresh interval to 10min and cache TTL to 20min for RSS ##### What's Changed - feat(map): native mobile map experience with location detection and full feature parity (#619) - feat(oref): show history waves timeline with translation and NaN fix (#618) - fix(aviation): increase cache TTL from 30min to 2h to reduce API quota usage (#617) - docs(changelog): add v2.5.21 entry covering 86 merged PRs (#616) - fix(api): harden cache-control headers for polymarket and rss-proxy (#613) - perf(rss): raise news refresh interval to 10min and cache TTL to 20min (#612) - Expand country brief and CII signal coverage (#611) - fix(docs): add blank lines after CHANGELOG headings for markdownlint (#608) - fix: RT channel HLS-only recovery, test shim, and LiveNOW fallback (#610) - fix(relay): increase OREF curl maxBuffer to prevent ENOBUFS (#609) - fix(aviation): invalidate stale IndexedDB cache + reduce CDN TTL (#607) - chore: bump version to 2.5.21 (#605) - docs(readme): comprehensive update for Telegram, OREF, GPS jamming, airports, and more (#606) - fix(webcams): fix broken live news channels — eNCA handle, remove VTC NOW, fix CTI News (#604) - fix(aviation): always show all monitored airports on flight delays map (#603) - fix(sentry): guard YT player methods + filter GM/InvalidState noise (#602) - chore(telegram): update channel list — remove nexta_live, air_alert_ua; add wfwitness (#600) - fix(aviation): route NOTAM through relay + improve intl logging (#599) - fix(webcams): add 4th Iran Attacks feed to fill 2x2 grid (#601) - fix(polymarket): add queue backpressure and response limit slicing (#593) - fix(relay): stop Polymarket cache stampede from concurrent limit + CDN bypass (#592) - fix(aviation): replace broken lock mechanism with direct cache, add cancellation tiers (#591) - fix(telegram): add missing relay auth headers to telegram-feed edge function (#590) - feat(live-news): add RT channel via HLS + enable HLS on web (#586) - feat(feeds): add RT (Russia Today) RSS feeds (#585) - fix(relay): delay Telegram connect 60s on startup to prevent AUTH_KEY_DUPLICATED (#587) - feat(risk): wire theater posture + breaking news into strategic risk score (#584) - feat(aviation): add NOTAM closure detection via ICAO API (#583) - feat: add GPS/GNSS jamming map layer + CII integration (#570) - feat(aviation): add comprehensive logging to flight delay pipeline (#581) - feat(relay): bootstrap OREF 24h history on startup (#582) - fix(sentry): guard setView against invalid preset + filter translateNotifyError (#580) - feat(cii): hook security advisories into CII scoring & country briefs (#579) - fix(relay): add timeouts and logging to Telegram poll loop (#578) - feat(scripts): add Iran events seed script and latest data (#575) - fix(webcams): replace duplicate Tehran feed with Tel Aviv, rename Iran tab (#572) - fix(relay): replace nixpacks.toml with railpack.json for curl (#571) - feat(webcams): add Iran tab to live webcams panel (#569) - fix(relay): increase Polymarket cache TTL to 10 minutes (#568) - fix(relay): install curl in Railway container for OREF polling (#567) - fix(relay): upstreamWs → upstreamSocket in graceful shutdown (#565) - fix(cii): resolve Gulf country strike misattribution via multi-match bbox disambiguation (#564) - fix(relay): replace smart quotes crashing relay on startup (#563) - fix(aviation): query all airports instead of rotating batch (#557) - fix(relay): add graceful shutdown + poll concurrency guard for Telegram (#562) - feat(cii): wire OREF sirens into CII score & country brief (#559) - fix(sentry): add noise filters and fix beforeSend null-filename leak (#561) - fix(live-news): annotate empty catches and sanitize error output (#560) - fix(i18n): rename OREF Sirens panel to Israel Sirens (#556) - fix(live-news): align YouTube edge function with relay auth pattern (#555) - fix(live-news): use correct relay auth header for YouTube proxy (#554) - feat(settings): add AVIATIONSTACK_API to desktop settings page (#553) - feat(live-news): move YouTube proxy scraping to Railway relay - _[Truncated at 4000 characters — full notes: https://github.com/koala73/worldmonitor/releases/tag/v2.5.21]_ ### v2.5.20 — World Monitor v2.5.20 - Date: 2026-02-27 - Version: v2.5.20 - Original notes: https://github.com/koala73/worldmonitor/releases/tag/v2.5.20 - Permalink: https://whatsnew.fyi/product/worldmonitor/releases/v2.5.20 - **added** — Complete edge cache tier coverage with degraded-response policy for gateway - **fixed** — Commodities panel showing stocks instead of commodities - **changed** — Increase AIS snapshot edge TTL from 2s to 10s - **fixed** — Use greedy regex in PostHog ingest rewrites - **added** — Configurable VITE_WS_API_URL and hardened POST→GET shim - **fixed** — Add noise filters for 4 unresolved Sentry issues - **added** — Cloudflare edge caching for proxy.worldmonitor.app - **fixed** — Convert stale POST requests to GET for backwards compatibility in gateway - **fixed** — Enable click-to-play YouTube embeds and CISA feed fixes in desktop - **fixed** — Use rss() for CISA feed and drop build from pre-push hook - **added** — Tiered edge Cache-Control aligned to upstream TTLs - **fixed** — Route security advisories feeds through RSS proxy to avoid CORS blocks - **fixed** — Move 5 path-param endpoints to query params for Vercel routing - **fixed** — Eagerly load T5-small model when beta mode is enabled - **added** — Cloudflare edge caching infrastructure for api.worldmonitor.app - **added** — Convert 52 API endpoints from POST to GET for edge caching - **added** — Negative-result caching to cachedFetchJson - **added** — Security Advisories panel with government travel alerts - **added** — Redesign settings window with VS Code-style sidebar layout ##### What's Changed - chore: bump version to 2.5.20 + changelog - feat(gateway): complete edge cache tier coverage + degraded-response policy (#484) - fix(markets): commodities panel showing stocks instead of commodities (#483) - perf(proxy): increase AIS snapshot edge TTL from 2s to 10s (#482) - fix(analytics): use greedy regex in PostHog ingest rewrites (#481) - feat: configurable VITE_WS_API_URL + harden POST→GET shim (#480) - fix(sentry): add noise filters for 4 unresolved issues (#479) - feat(proxy): add Cloudflare edge caching for proxy.worldmonitor.app (#478) - fix(gateway): convert stale POST requests to GET for backwards compat (#477) - fix(desktop): enable click-to-play YouTube embeds + CISA feed fixes (#476) - fix(tech): use rss() for CISA feed, drop build from pre-push hook (#475) - feat(cache): tiered edge Cache-Control aligned to upstream TTLs (#474) - fix(security-advisories): route feeds through RSS proxy to avoid CORS blocks (#473) - fix: move 5 path-param endpoints to query params for Vercel routing (#472) - fix(beta): eagerly load T5-small model when beta mode is enabled - feat: add Cloudflare edge caching infrastructure for api.worldmonitor.app (#471) - feat: convert 52 API endpoints from POST to GET for edge caching (#468) - feat(cache): add negative-result caching to cachedFetchJson (#466) - Add Security Advisories panel with government travel alerts (#460) - feat(settings): redesign settings window with VS Code-style sidebar layout (#461) - fix(scripts): handle escaped apostrophes in feed name regex (#455) - fix(wingbits): add 5-minute backoff on Wingbits /v1/flights failures (#459) - fix(ollama): strip thinking tokens, raise max_tokens, fix panel summary cache (#456) - fix+feat: RSS feed repairs, HLS native playback, summarization cache fix, embed improvements (#452) **Full Changelog**: https://github.com/koala73/worldmonitor/compare/v2.5.19...v2.5.20 ### v2.5.19 — World Monitor v2.5.19 - Date: 2026-02-26 - Version: v2.5.19 - Original notes: https://github.com/koala73/worldmonitor/releases/tag/v2.5.19 - Permalink: https://whatsnew.fyi/product/worldmonitor/releases/v2.5.19 - **fixed** — Detect NVIDIA GPU and work around EGL_BAD_ALLOC on Wayland on Linux ##### What's Changed - fix(linux): detect NVIDIA GPU and work around EGL_BAD_ALLOC on Wayland (#446) **Full Changelog**: https://github.com/koala73/worldmonitor/compare/v2.5.18...v2.5.19 ### v2.5.18 — World Monitor v2.5.18 - Date: 2026-02-26 - Version: v2.5.18 - Original notes: https://github.com/koala73/worldmonitor/releases/tag/v2.5.18 - Permalink: https://whatsnew.fyi/product/worldmonitor/releases/v2.5.18 - **fixed** — Stop mixing host GStreamer plugins with bundled AppImage plugins on Linux ##### What's Changed - chore: bump v2.5.18 (#445) - fix(linux): stop mixing host GStreamer plugins with bundled AppImage plugins (#444) **Full Changelog**: https://github.com/koala73/worldmonitor/compare/v2.5.17...v2.5.18 ### v2.5.17 — World Monitor v2.5.17 - Date: 2026-02-26 - Version: v2.5.17 - Original notes: https://github.com/koala73/worldmonitor/releases/tag/v2.5.17 - Permalink: https://whatsnew.fyi/product/worldmonitor/releases/v2.5.17 - **fixed** — Disable WebKitGTK compositing in VMs on Linux to fix black iframes ##### What's Changed - chore: bump v2.5.17 (#443) - fix(linux): disable WebKitGTK compositing in VMs to fix black iframes (#441) **Full Changelog**: https://github.com/koala73/worldmonitor/compare/v2.5.16...v2.5.17 ### v2.5.16 — World Monitor v2.5.16 - Date: 2026-02-26 - Version: v2.5.16 - Original notes: https://github.com/koala73/worldmonitor/releases/tag/v2.5.16 - Permalink: https://whatsnew.fyi/product/worldmonitor/releases/v2.5.16 - **added** — Add India, military, and maritime RSS feeds - **added** — Add YouTube URL support in custom channels and Middle East region - **fixed** — Add security headers to Vercel deployment - **fixed** — Bundle full GStreamer codec suite for YouTube playback on Linux ##### What's Changed - chore: bump v2.5.16 (#440) - feat: add India, military, and maritime RSS feeds (#437) - fix: add security headers to Vercel deployment (#439) - feat: YouTube URL support in custom channels + Middle East region (#435) - fix(linux): bundle full GStreamer codec suite for YouTube playback (#434) **Full Changelog**: https://github.com/koala73/worldmonitor/compare/v2.5.15...v2.5.16 ### v2.5.15 — World Monitor v2.5.15 - Date: 2026-02-26 - Version: v2.5.15 - Original notes: https://github.com/koala73/worldmonitor/releases/tag/v2.5.15 - Permalink: https://whatsnew.fyi/product/worldmonitor/releases/v2.5.15 - **fixed** — Deduplicate smoke test artifact name for dual Linux builds - **fixed** — Reduce upstream API pressure with cache TTL optimization - **fixed** — Tighten noise filters for deck.gl/maplibre and WebView errors in Sentry ##### What's Changed - chore: bump v2.5.15 (#432) - fix(ci): deduplicate smoke test artifact name for dual Linux builds (#431) - fix: reduce upstream API pressure with cache TTL optimization (#430) - fix(sentry): tighten noise filters for deck.gl/maplibre and WebView errors (#429) **Full Changelog**: https://github.com/koala73/worldmonitor/compare/v2.5.14...v2.5.15 ### v2.5.14 — World Monitor v2.5.14 - Date: 2026-02-26 - Version: v2.5.14 - Original notes: https://github.com/koala73/worldmonitor/releases/tag/v2.5.14 - Permalink: https://whatsnew.fyi/product/worldmonitor/releases/v2.5.14 See changelog below. ### v2.5.13 — World Monitor v2.5.13 - Date: 2026-02-26 - Version: v2.5.13 - Original notes: https://github.com/koala73/worldmonitor/releases/tag/v2.5.13 - Permalink: https://whatsnew.fyi/product/worldmonitor/releases/v2.5.13 - **fixed** — Tolerate YouTube API failures when adding custom channels - **fixed** — Append host GStreamer plugins to AppImage search path on Linux - **fixed** — Enable keyring persistence via Secret Service and keyutils on Linux - **changed** — Optimize Wingbits API usage and reduce unnecessary polling ##### What's Changed - fix(live-channels): tolerate YouTube API failures when adding custom channels (#425) - fix(linux): append host GStreamer plugins to AppImage search path (#424) - fix(linux): enable keyring persistence via Secret Service + keyutils (#419) - Optimize Wingbits API usage and reduce unnecessary polling (#416) - ci: skip Typecheck and Lint on fork PRs (#415) - fix(ci): use weston+XWayland for Linux smoke test (#417) - ci: add standalone Test Linux App workflow, revert build-desktop.yml (#414) - ci(linux): add AppImage smoke test to desktop build (#413) **Full Changelog**: https://github.com/koala73/worldmonitor/compare/v2.5.11...v2.5.13