# Changelog of Google News Scraper - Articles by Keyword, Real URLs (`logiover/google-news-scraper`) Actor

- **URL**: https://apify.com/logiover/google-news-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/logiover/google-news-scraper.md

## Changelog

### 2026-09-01

- Fleet-wide health check. Verified against this Actor's real run history: 30-day success rate, output row counts, per-field fill rates, and peak memory against the configured memory limit.
- Reviewed for the failure patterns that have cost this fleet runs — unguarded proxy setup, retry loops that can outlast the run's own time budget, and full-page HTML parsing that can exhaust a small container.
- No change to input, output fields or scraping logic.

### 2026-08-11

- Maintenance release: refreshed the build and dependencies.
- Re-verified live execution, non-empty structured output and dataset field/type integrity.
- Reviewed reliability (retries, pagination) and output quality as part of a full-fleet QA pass.

### 2026-08-01

- Raised the RSS parser's aggregate entity allowance for legitimate HTML-rich Google topic feeds while retaining explicit expansion-depth, entity-size/count and expanded-content ceilings.
- Parser failures and all-feed zero responses now fail explicitly instead of succeeding with an empty dataset.
- Verified the formerly empty `BUSINESS / en-GB / GB` case locally with 30 unique, schema-valid articles; upgraded and pinned audited XML/HTTP dependencies.
- Completed the August 2026 full health check: verified empty/programmatic default, Console UI default, and two source-informed alternative inputs on Apify.
- Confirmed successful live execution, non-empty structured output, dataset-field/type integrity, and logical sample quality within the 5-minute quality window.
- Replaced the field-level output schema with a canonical `results` dataset link so run results open correctly in the Apify Console.
- Declared 19 dataset fields from typed live cloud samples so the output contract is no longer an empty placeholder.
- Declared 19 nullable dataset fields from typed live cloud samples so the output contract is no longer an empty placeholder or brittle to sparse modes.
- Raised fast-xml-parser's aggregate entity limit for legitimate HTML-rich Google News topic feeds while retaining explicit entity-count, depth, entity-size, and expanded-content safety ceilings.
- Made XML/parser and all-feed zero regressions fail explicitly while preserving legitimate post-fetch filter empties; locally verified BUSINESS/en-GB/GB as 30 unique schema-valid rows.
- Tightened URI/date/feed-type schema constraints, corrected best-effort canonical-URL documentation, and upgraded pinned XML/HTTP dependencies to a zero-vulnerability production lockfile.

### 2026-07-18

- Maintenance & reliability pass — re-verified end-to-end against live data via the Apify API; confirmed the Actor completes successfully and returns non-empty, well-formed results within the 5-minute quality window on its default input.
- Refreshed build so the latest version is current; no change to inputs, output fields or scraping logic.

### 2026-07-12

- **Language & Country are now dropdowns** — pick from a curated list of 39 Google News interface languages and 52 country/region storefronts instead of typing raw codes. Human-readable labels (e.g. "English (UK)", "Japan").
- **No mandatory input** — the Actor runs with completely empty input `{}` and returns the current Google News top headlines for the default region/language, bounded by Max articles (default 100). All filters (queries, topic, geo, dates, sources) remain optional.
- Added an explicit default of 100 to Max articles so empty-input runs are fast and cheap; raise it (up to 500, with automatic time-window stitching) to pull more.
- No output field keys changed; existing integrations keep working.

### 2026-06-28

- Health check passed — actor verified working end-to-end on Apify platform.
- Changelog refreshed for Store quality compliance.

### 2026-06-20

- Maintenance & reliability pass: re-verified end-to-end against live data and confirmed the Actor completes successfully within the 5-minute quality window on the default input.
- Refreshed the prefilled example input and tuned run defaults for faster, lower-cost runs.
