# Changelog of LinkedIn Ad Library Scraper (`codingfrontend/linkedin-ad-library-scraper`) Actor

- **URL**: https://apify.com/codingfrontend/linkedin-ad-library-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/codingfrontend/linkedin-ad-library-scraper.md

## Changelog

### \[1.1.1] - 2026-08-31

#### Fixed

- Preserved failed Actor status for zero-result and exhausted-retry runs.
- Shared deduplication state across retries and bounded one search URL to four total attempts.
- Treated `maxItems` as a cap and aligned its runtime/schema range to 1–100.
- Corrected the key-value-store schema version property and direct-proxy documentation.

#### Changed

- Reduced the production dependency surface to the focused Playwright crawler package.
- Added provenance validation, contract tests, semantic dataset validation, and bounded QA inputs.

### \[1.1.0] - 2025-05-21

#### Added

- Added `src/schema/input.js` — dedicated input validation module replacing inline validation in `main.js`
- Added `src/errors/` — `ScraperError`, `ErrorTypes`, `ErrorHandler` modules for structured error handling

#### Changed

- Refactored `main.js` to use `validateInput()` from `src/schema/input.js`
- Extracted ad extraction logic to `src/utils/extraction.js`
- Route handler moved to `src/routes.js` with clean separation of concerns
- Improved README.md with accurate input/output documentation
- Dataset schema views updated for Apify Storage table display

#### Fixed

- Scroll pagination handles edge cases where LinkedIn renders ads lazily
- Country parameter correctly appended to search URL query string

### \[1.0.0] - 2025-03-15

#### Added

- Initial release: LinkedIn Ad Library scraper
- Scrapes public ads from `linkedin.com/ad-library/search` for a given advertiser query
- Infinite-scroll extraction using `button.infinite-scroller__show-more-button`
- Extracts advertiser name, ad text, ad format, media URL, media title, and link
- Configurable `maxItems`, `query`, and `country` inputs
- Apify dataset integration with structured output
