v2.5.20

career-ops-hq/career-opsv2.5.20Feb 27, 2026by github-actions[bot]

AI Summary

This release focuses on caching infrastructure, API improvements, and security advisories. It adds Cloudflare edge caching and converts 52 API endpoints from POST to GET for better edge caching capabilities.

Key Highlights

  • Complete edge cache tier coverage with degraded-response policy
  • Converted 52 API endpoints from POST to GET for edge caching
  • Added Security Advisories panel with government travel alerts
  • Redesigned settings window with VS Code-style sidebar layout
  • Enhanced proxy caching with Cloudflare edge caching

Breaking Changes

  • Converted 52 API endpoints from POST to GET (may affect clients using POST requests)

New Features

  • feat(gateway): Complete edge cache tier coverage + degraded-response policy
  • feat(proxy): Add Cloudflare edge caching for proxy.worldmonitor.app
  • feat(cache): Tiered edge Cache-Control aligned to upstream TTLs
  • feat: Convert 52 API endpoints from POST to GET for edge caching
  • feat(cache): Add negative-result caching to cachedFetchJson
  • Add Security Advisories panel with government travel alerts
  • feat(settings): Redesign settings window with VS Code-style sidebar layout
  • feat: Add Cloudflare edge caching infrastructure for api.worldmonitor.app
  • feat(proxy): Increase AIS snapshot edge TTL from 2s to 10s
  • feat: Configurable VITE_WS_API_URL + harden POST→GET shim
  • feat(cache): Tiered edge Cache-Control aligned to upstream TTLs

Full Release Notes

## 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