# Changelog of Allegro Listings Scraper (`piotrv1001/allegro-listings-scraper`) Actor

- **URL**: https://apify.com/piotrv1001/allegro-listings-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/piotrv1001/allegro-listings-scraper.md

## Changelog

### Unreleased — reliability and monitoring data

- Save records page by page; retain earlier results and fail the run if a later page fails.
- Serialize dataset writes and enforce both total-input and paid-result limits.
- Deduplicate offers per source and validate input before making provider requests.
- Parse embedded JSON safely when titles contain braces or escaped quotes.
- Preserve embedded Allegro Lokalnie listings and avoid double-decoding tracking URLs.
- Add offer/product IDs, timestamps, marketplace, page position, seller feedback, delivery cost and price including delivery.
- Preserve purchase-count labels and explanations; distinguish known product-wide popularity from unknown scope.
- Return `null` for unavailable optional values instead of fabricated zeros/false flags. Required price/identity failures mark extraction incomplete.
- Add explicit page/concurrency controls and a `RUN-SUMMARY` with source completion and provider-credit metrics.
- Respect starting page numbers above 100, subject to source pagination and the configured page limit.
- Add offline regression/lifecycle tests and a bounded live benchmark.

Compatibility: existing output keys remain, but optional fields can now be `null`. Duplicate rows within one source are removed. Consumers relying on zero/false defaults or duplicate counts should adjust before upgrading. Direct offer scraping, EAN lookup and automatic price-history/resume remain outside this release.
