# Changelog of Booking.com Reviews Scraper (`w3crawler/booking-com-reviews-scraper`) Actor

- **URL**: https://apify.com/w3crawler/booking-com-reviews-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/w3crawler/booking-com-reviews-scraper.md

## Changelog

All notable changes to **booking-com-reviews-scraper** are documented here.

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

#### Added

- Public hotel-summary enrichment for property type, aggregate review score/count, quality rating, and review label when exposed.
- Explicit success and diagnostic record classifications with `found`, `dataAvailable`, `pageType`, and `runStatus`.
- Output schema, diagnostics view, and generated-by metadata for Codex with GPT-5.6 Luna.

#### Changed

- Diagnostic rows are excluded from successful-review counters.
- Public access boundaries are reported without login, private endpoint use, or bypass attempts.
- Removed debug screenshot writes from the legacy browser path.

### \[1.1.0] - 2025-07-08

#### Changed

- Full project restructure to match Brave actor structure
- Extracted review extraction logic into `src/extractors/reviews.js`
- Extracted pagination loop into `src/routes/handlers.js` (`handleHotelReviews`)
- Added `src/schema/input.js` with `validateInput` for hotelUrls, maxReviews, sortBy, language
- Added `src/filters/index.js` with `deduplicateReviews` by reviewer+date+score
- Added `src/utils/index.js` with `waitMs`, `humanDelay`, `buildReviewListUrl`, `USER_AGENTS`
- Added `src/errors/` module (ScraperError, ErrorTypes, ErrorHandler)
- Rewrote `src/main.js` as a clean delegation entry point using PuppeteerCrawler

#### Added

- `src/routes.js` — `createRouter(input, state)` using `createPuppeteerRouter()`
- `validate-datasets.js` for local dataset validation

### \[1.0.0] - 2024-12-01

#### Added

- Initial release — scrape guest reviews from Booking.com hotel pages
- Public Puppeteer browser extraction with fail-closed access-boundary diagnostics
- Pagination through review pages
- Output fields: hotelName, hotelUrl, reviewerName, reviewerCountry, date, overallScore, title, positiveText, negativeText, stayType
