# Changelog of Glassdoor Jobs Scraper & API - Salary Data (`newbs/glassdoor-job-scraper`) Actor

- **URL**: https://apify.com/newbs/glassdoor-job-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/newbs/glassdoor-job-scraper.md

## Changelog

### 0.1.18 - 2026-09-02

- Restore the 120-second default and optimize blocked-route recovery instead of masking blocks with a longer timeout.
- Retry HTTP through a genuinely fresh automatic proxy session before escalating to Residential.
- Add a lazy Apify Unblocker HTTP fallback after direct, automatic, and Residential routes are blocked.
- Use Got Scraping's proxy transport for Unblocker requests while retaining Impit's browser TLS impersonation for standard HTTP routes.
- Give explicitly selected and final-search Unblocker requests enough time for managed challenge resolution without increasing the Actor run timeout.
- Bound each HTTP route so challenge responses cannot consume the full per-search budget.
- Avoid unsupported session rotation when users explicitly select the Unblocker proxy group.

### 0.1.17 - 2026-09-02

- Honor Apify's actual run timeout and reserve time for quality diagnostics and `OUTPUT` writes.
- Replace Puppeteer wait handles with page-value polling to avoid cross-world protocol errors during verification-page transitions.
- Skip redundant direct retries when diagnostics identify a challenge page.
- Rotate proxy sessions and add a location-matched Residential fallback after direct and automatic proxy routes are blocked.
- Divide the remaining execution window fairly across bulk searches so one blocked query cannot consume the entire run.
- Patch the compatible transitive Browserslist denial-of-service and prototype-write advisories.

### 0.1.16 - 2026-09-01

- Retain Impit's platform-specific native binding in the production image.
- Distribute the item limit across bulk searches so each configured search gets an execution slot.
- Evaluate monitoring quality gates before known jobs are suppressed from new-only output.
- Fall back from login-gated company pages to an employer-filtered public Glassdoor job search.
- Separate localized comma-decimal ratings from employer names in regional search cards.
- Fill employer names omitted from company-page cards using the validated company URL context.

### 0.1.15 - 2026-09-01

- Add HTTP-first Glassdoor search using browser TLS impersonation with the existing Chrome route as fallback.
- Extract posting age, estimated posting date, Easy Apply, sponsorship, remote status, employer ID, rating, logo, normalized title, salary source, and native typed salary values from search payloads.
- Add flat integration-ready output fields while retaining all existing nested output objects.
- Deduplicate tracking URL variants and bulk-search overlap by stable Glassdoor job ID.
- Add free-text location resolution, regional country codes, company jobs URLs, and up to 10 searches per run.
- Add age, remote, Easy Apply, sponsorship, rating, salary, company, and job-type filters.
- Add persistent first-seen and last-seen monitoring with an option to emit only new job IDs.
- Add optional production quality gates and per-search diagnostics for scheduled canaries.
- Remove page body text, challenge query tokens, and runner IP addresses from diagnostics.
- Keep pay-per-event pricing and user-paid Apify platform usage unchanged.

### 0.1.14 - 2026-09-01

- Exclude all local Apify acceptance storage from uploaded source versions.

### 0.1.13 - 2026-09-01

- Clear typed salary amounts when an invalid regional salary artifact is rejected from the display salary.

### 0.1.12 - 2026-09-01

- Skip redundant same-IP direct retries after an explicit Glassdoor verification response.
- Reserve run time for dataset and `OUTPUT` writes so large or proxy-fallback runs finish with usable fallback rows instead of timing out.
- Preserve search-result data when a detail worker cannot start or a browser page fails during cleanup.
- Batch dataset writes and align the user agent with the installed Chrome version.
- Add optional validated Glassdoor search URLs for filters and locations outside the guided selector.
- Add stable job IDs, search provenance, and typed salary minimum, maximum, currency, and period fields.
- Upgrade the Apify browser image from end-of-life Node.js 20 to Node.js 22.
- Patch compatible transitive `brace-expansion`, `ip-address`, and `js-yaml` security advisories.
- Improve Store discovery with clearer metadata, quick-start steps, pricing transparency, API and integration guidance, use cases, and troubleshooting.
- Keep the existing pay-per-event prices and user-paid platform usage unchanged.

### 0.1.11 - 2026-08-02

- Retry searches with a fresh direct browser before using the configured proxy fallback.
- Complete expected source-block and invalid-input runs with a visible `OUTPUT` diagnostic instead of an opaque failed run.
- Avoid dataset-result charges when Glassdoor exposes no listings.
- Add a general circuit after three consecutive detail enrichment failures and a bounded enrichment time budget for large runs.
- Publish the run summary in the Actor output schema for Console, API, MCP, and AI-agent users.
- Require 1024 MB because observed browser memory usage exceeds the previous 512 MB minimum.

### 0.1.10 - 2026-07-30

- Changed automatic routing to direct-first with location-matched Residential Proxy fallback, reducing wasted proxy transfer and search latency.
- Detect Glassdoor verification pages immediately on search and detail pages instead of waiting for the full readiness timeout.
- Open the shared detail challenge circuit after the first session-wide verification page.
- Honor explicit proxy groups and custom proxy URLs with proxy-only routing.
- Prevent custom proxy URLs and credentials from appearing in configuration logs.

### 0.1.7 - 2026-07-29

- Fixed duplicate Performance sections in the input form.
- Added readable location labels and clearer Search limits, Performance, and Advanced settings sections.
- Added Actor output metadata and typed dataset field metadata for Console, API, MCP, and AI-agent discovery.
- Split dataset presentation into focused Overview and Full details views.
- Added recursive support for JobPosting JSON-LD nested in `@graph` structures.
- Fixed browser proxy wiring so enriched runs actually use the configured Apify Proxy, with location-matched residential routing by default.
- Updated vulnerable transitive dependencies without changing the Actor input or result contract.

### 0.1.6 - 2026-07-29

- Added residential proxy defaults for enriched runs.
- Added bounded detail retries, challenge circuit breaking, and visible enrichment diagnostics.
- Added pay-per-event spending-limit handling and hosted verification coverage.
