---
summary: "Bound TV timeline pages, normalize timeline dates, and align GDELT query parameters with documented API contracts."
breaking: true
security: false
---

# 0.4.0 — 2026-08-30

## Added

- **`gdelt_search_tv`** now returns deterministic pages of up to 500 points with `offset`, `limit`, `totalPoints`, and `nextOffset`; `content[]` renders every point in the structured page ([#23](https://github.com/cyanheads/gdelt-mcp-server/issues/23)).
- **`gdelt_search_tv.dateres`** accepts `hour`, `day`, `week`, `month`, and `year`, and TV output now preserves recognized resolution metadata or infers it from returned intervals ([#29](https://github.com/cyanheads/gdelt-mcp-server/issues/29)).

## Changed

- **Timeline dates** are normalized from GDELT compact values to ISO 8601, and DOC timeline outputs now report 15-minute resolution when returned intervals support it ([#29](https://github.com/cyanheads/gdelt-mcp-server/issues/29)).
- **`gdelt_search_articles.sort`** now accepts `relevance`, `dateDesc`, `dateAsc`, `toneDesc`, `toneAsc`, and `hybridRel`; the former `date` and `social` values are rejected ([#28](https://github.com/cyanheads/gdelt-mcp-server/issues/28)).

## Fixed

- **TV coverage normalization** now requests query-matching `timelinevol` data with `datanorm=perc` or `datanorm=raw` ([#27](https://github.com/cyanheads/gdelt-mcp-server/issues/27)).
- **Timeline smoothing and sorting** now serialize GDELT's `TIMELINESMOOTH`, `DateAsc`/`DateDesc`, and documented ArticleList `SORT` values ([#28](https://github.com/cyanheads/gdelt-mcp-server/issues/28)).
