# Changelog of Google News Scraper - Fast URLs, Images & Alerts (`vortex_data/google-news`) Actor

- **URL**: https://apify.com/vortex\_data/google-news/changelog.md
- **Full Actor documentation**: https://apify.com/vortex\_data/google-news.md

## Changelog

### 2026-06-11

- Replaced the visible workflow-mode selector with a simpler source-first form: users fill one source input and the actor routes each line; collect toggles stay API-only.
- Made Extra Data default-on: publisher descriptions/authors, best-effort full text, and entity detection are enabled for richer first-run rows and can be switched off for cheaper feed-only runs.
- Reworked proxy routing for speed and reliability: direct requests are hedged with selected-country residential sessions, residential has no internal fallback cap, global residential is used as a safety route, and Google News decode retries get fresh sessions.
- Fixed mixed-source `maxItems` underfills by redistributing unused per-source capacity when one source has too few Google News results.
- Hid always-on data switches for direct URLs, thumbnails, Full Coverage links, and social cards so the visible form now focuses on the Extra Data toggles users may disable for faster runs.
- Reworked the visible source UI into official Apify `schemaBased` source rows with a source-type selector and value field for search, publishers, topics, local news, Google News URLs, and Full Coverage stories.
- Moved the main source input out of collapsible sections so the primary source rows are visible immediately on first open in Apify Console.
- Simplified the public README for Apify buyers by removing developer-only API alias details and keeping the copy focused on visible workflows and clean outputs.
- Replaced the outdated Data Quality Options table with an accurate default-data section that matches the visible Extra Data toggles.
- Removed confusing proxy and monitoring jargon from the public README and shortened the SEO description to Apify's recommended length range.
- Reduced first-open form clutter by removing the duplicated Sources heading and moving dataset marketing copy out of the input description.
- Renamed the visible Monitoring section to New Article Alerts and documented the Apify Task/Schedule workflow directly in the section description.
- Fixed a duplicated Extra Data section by ensuring only visible fields can start input sections.
- Replaced visible filter string lists with compact textarea fields while keeping the old array inputs as API-only aliases.
- Kept `searchMode`, `runMode`, and `contentMode` as hidden API compatibility aliases while making the normal Apify UI work without mode selection.
- Added a source-form compatibility layer so the new visible fields map cleanly to the existing keyword, publisher, local, topic, URL, Full Coverage, top headlines, and monitoring internals.
- Simplified the visible form by hiding proxy, retry, concurrency, output-mode, and low-level Google parameters while keeping them available for API users.
- Added a middle `Publisher descriptions` enrichment mode (`contentMode: "descriptions"` plus `extractDescriptions` aliases) for richer snippets and article metadata without storing full article bodies.
- Made the default JSON output cleaner by keeping diagnostic quality/status fields out of normal rows unless explicitly requested.
- Made Publisher feed usable with plain names and domains such as `Reuters`, `CNN`, `BBC`, and `reuters.com`, not only Google News publication URLs/IDs.
- Added date-window expansion for publisher/domain runs above 100 results, matching the large keyword backfill behavior where Google News search RSS supports it.
- Added optional Full Coverage X/Twitter card extraction (`includeSocialPosts`) so story pages can return `social_post` rows when Google News exposes them.
- Fixed API-only workflow aliases so `startUrls`, `publisherUrls`, `fullCoverageUrls`, topics, locations, and monitoring inputs infer the right workflow without requiring `searchMode`; the example `OpenAI` keyword is no longer mixed into those runs.
- Added first-class Publisher feed and Full Coverage workflows in the Apify input UI, including visible `publisherInputs` and `fullCoverageInputs` fields plus API support for publisher/story IDs.
- Added `publication_url` source typing so publisher-feed rows are labeled clearly in output instead of being hidden under generic Google News URL rows.
- Repositioned the actor around clean Google News rows with direct URLs, thumbnails, source context, alerts, default-on publisher-page enrichment, and clear controls for disabling heavier Extra Data when speed or cost matters more.
- Improved the first dataset table so users immediately see title, publisher, domain, publication time, article URL, image, and search source instead of a sparse technical preview.
- Added Google News HTML card snippet enrichment for cases where RSS descriptions are empty but the visible result card contains a useful summary.
- Simplified input form wording for first runs, monitoring alerts, volume controls, speed/enrichment presets, full text, and advanced search controls while keeping user-facing capabilities available and proxy controls hidden.
- Reduced the default first-run volume to 20 articles per query/source for faster, cheaper, more predictable trial runs.
- Fixed large backfill planning so `maxArticles` above 100 stops preparing extra daily slices once the source target is reached. A 120-result metadata run now decodes about 120 candidates instead of hundreds of unused items.
- Fixed predefined Topic feeds by using current Google News `/rss/topics/...` URLs and optimized topic-page image parsing so small topic runs no longer hang on large Google News HTML pages.
- Fixed Top headlines image enrichment so the HTML index uses the Google News homepage instead of trying to parse the RSS XML response.

### 2026-06-07

- Reworked the Apify input UI into a workflow-first form with emoji mode labels, clearer section copy, and examples for search, monitoring, topics, local news, URLs, and custom runs.
- Restored a polished emoji-led README and storage labels while keeping the product copy focused on user workflows instead of internal implementation details.
- Exposed important user-facing controls in the form: 100+ result expansion, total run limits, dedupe, full-text limit, source filters, advanced Google filters, and concurrency.
- Added API support for a single `topic` / `topicCategory` alias.
- Made `standard` output clean by default and moved internal/debug fields to `advanced`.
- Added `runMode` presets: `fast`, `balanced`, `complete`, and `custom`.
- Added direct `scrapedAt`, `region`, and `language` fields so standard output no longer needs raw `metadata`.
- Added run-level `health.status` and warnings to the `OUTPUT` summary.
- Improved Apify input labels, emoji, README presentation, and dataset table view.
- Removed extra dataset tabs so the Storage preview opens as one clean `Articles` table instead of several confusing views.
- Added visible `topHeadlines` and `locations` inputs for top stories and local Google News feeds.
- Exposed large-run, dedupe, Google filter, and concurrency controls in the input UI while keeping proxy handling managed internally and not user-configurable.
- Redesigned the input UI around a simple `searchMode` selector like the strongest Google News actors, with low-level retry tuning kept API-only.
- Hid `outputMode` from the input UI so users see one clean default dataset; `simple` and `advanced` remain API-only compatibility modes.
- Added first-class Monitoring mode with persistent seen-article history, `monitorName`, `resetMonitor`, and `onlyNewArticles` support for scheduled alerts and daily digests.
- Added richer publisher-page metadata in full-text mode: article published/modified timestamps, section, tags, and publisher organization name.

### 2026-06-06

- Added `outputMode` with `simple`, `standard`, and `advanced` dataset modes.
- Added per-item quality and status fields: `contentQualityScore`, `extractionStatus`, `urlDecodeStatus`, `articleFetchStatus`, `wordCount`, `isLikelyPaywalled`, `isConsentPage`, and `extractionError`.
- Added `stoppedReason` and availability counters to the run-level `OUTPUT` summary.
- Canonicalized Google News Full Coverage URLs and stripped noisy `followup` query values.
- Added `storyUrls` and `fullCoverageUrls` API aliases for Full Coverage inputs.
- Improved Google News thumbnail matching for `-p-df` attachment URLs.
- Updated Apify input and dataset schemas so quality/status fields are visible in table views.
