---
summary: "Fix 7 API contract bugs — wrong response keys, invalid query modes, and empty-response handling across TV and DOC tools"
breaking: false
security: false
---

# 0.1.1 — 2026-05-25

## Fixed

- **`gdelt_get_tone_distribution`** — `tonechart` bins expose article URLs under `toparts`, not `articles`; handler now reads the correct key
- **`gdelt_get_coverage_timeline`** — `volume_with_articles` mode likewise reads `toparts` per timestep instead of `articles`
- **`gdelt_get_tv_clips`** — thumbnail URL field is `preview_thumb`, not `thumbnail_url`; clips now include thumbnails when available
- **`gdelt_search_tv`** — TV timeline modes corrected: `timelinevolnorm` (normalized) and `timelinevol` (raw); prior values `timelinenorm`/`timeline` are not valid TV API modes
- **`gdelt_get_tv_context`** — `RawTvWord` fields are `label`/`count`, not `Label`/`Score`; context words now populate correctly
- **`gdelt_get_tv_trending`** — trending response key is `OverallTrendingTopics` (with fallback to `OverallTrendingPhrases`); prior key `topics` never matched, always returned empty
- **`gdelt_list_tv_stations`** — station list response key is `station_details`, not `stations`; station metadata now returns correctly
- **Empty-response guard** — `gdelt-fetch.ts` now throws `serviceUnavailable` on an empty API response body instead of passing a blank string to `JSON.parse`
