# Changelog of Reed Jobs Search Scraper (`jobsapi/reed-jobs-search-scraper`) Actor

- **URL**: https://apify.com/jobsapi/reed-jobs-search-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/jobsapi/reed-jobs-search-scraper.md

## Changelog

All notable changes to the Reed Jobs Scraper are documented here.

### \[1.3.0] - 2026-09-27

- Enriched records with Reed-native employer, location, salary, taxonomy, attached skill names and IDs, eligibility, description-section, and source-quality fields; complete records now require more than 20 meaningful source fields and carry a recomputable field manifest.
- Recognized source headings such as "Required Skills & Experience" and kept desirable skills, Nice to have, qualifications, key competencies, and application instructions separately available.
- Suppressed numeric salary bounds when Reed marks the salary competitive, negotiable-hidden, or commission-hidden; kept date-shaped text intact during contact-detail redaction.
- Restricted accepted inputs to the documented search and Reed job-URL fields. Removed public proxy, retry, concurrency, headless, and fixture/debug controls; each direct Chromium navigation is attempted once.
- Defined the SUCCEEDED, PARTIAL, SKIPPED, DEFERRED, and NO_DATA run states and updated the local dataset validator for isolated storage roots, summary consistency, schema type coverage, and ISO-date-safe phone checks.
- Updated the README examples and operating guidance to match the current runtime.

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

- Added exact page/navigation budgets, detail identity verification, complete-record gates, privacy redaction, accurate cloud state, tests, storage validation, and stricter schemas.

### \[1.1.0] - 2026-07-21

#### Changed

- Rebuilt Chrome extraction around Reed's current structured search and job-detail data.
- Corrected salary filtering to use Reed's `salaryFrom` and `salaryTo` parameters.
- Added rich job-detail fields, section extraction, strict schema validation, and direct job URL mode.
- Removed empty, null, duplicate, unrelated, and encoding-corrupted dataset fields.
- Corrected Actor Dockerfile metadata and reproducible dependency installation.

### \[1.0.0] - 2026-06-24

#### Added

- Initial production release of the Reed Jobs Scraper.
- PlaywrightCrawler-based architecture with proxy support.
- Modular project structure:
  - src/main.js - entry point with input validation, proxy setup, and crawler init.
  - src/routes.js - Crawlee router factory.
  - src/routes/handlers.js - page handler with job listing extraction and pagination.
  - src/extractors/ - job title, company, location extraction.
  - src/filters/index.js - deduplication utilities.
  - src/schema/input.js - input validation.
  - src/utils/index.js - shared helpers.
  - src/errors/ - ScraperError, ErrorTypes, ErrorHandler.
- .actor/actor.json, input_schema.json, dataset_schema.json for Apify platform compatibility.
- alidate-datasets.js for local dataset output validation.
- Dockerfile for Apify platform deployment.
- README.md with full Apify usage guide.
