# Changelog of Telegram Channel Scraper (`innovatica-ai/telegram-channel-scraper`) Actor

- **URL**: https://apify.com/innovatica-ai/telegram-channel-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/innovatica-ai/telegram-channel-scraper.md

## Changelog

### 1.0 — 2026-08-28

First public release.

- Scrape posts from any public Telegram channel by `@handle`, bare handle or `t.me` link.
- Full-history paging — walks back to a channel's first message, not just recent posts.
- Scrape individual posts by URL via the embed view.
- Keyword search within a channel (single page — Telegram does not page search results).
- Optional channel summary row with subscribers and photo/video/link counts.
- Filters: minimum views, must-contain text, media-only, and published-date range. Filtered posts are not saved and not charged.
- `onlyNewResults` incremental mode, tracking a per-channel high-water mark in a named key-value store so scheduled runs return only new posts.
- Per-item error rows — a private channel, bot handle or typo never fails the whole run.
- No proxy required: Telegram serves these pages to ordinary requests, keeping platform cost near zero.
- Graceful abort and migration handling, persisting incremental state before shutdown.
- Running with no input at all returns a small demo from `@telegram` instead of failing, so an unconfigured run still shows what the output looks like. Input that names only `postUrls` is left exactly as given — channel posts are never added to a run that did not ask for them.
- Default example channel is now `@telegram` rather than `@durov`. Apify's daily Store health check runs an Actor with its input-schema prefill values, so that example is a standing dependency — an organisation's channel is a safer one than an individual's.
