# Changelog of Glassdoor Jobs & Company Ratings Scraper - No Login (`faizjunsyar-dev/glassdoor-jobs-company-scraper`) Actor

- **URL**: https://apify.com/faizjunsyar-dev/glassdoor-jobs-company-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/faizjunsyar-dev/glassdoor-jobs-company-scraper.md

### 0.9.0

- Normalize relative Glassdoor application links into absolute URLs.
- Convert numeric `ageInDays` values, including `0`, into ISO posting dates.
- Match strict title keywords in their original order to reject false positives such as "Project Engineer ... Data Center".

### 0.8.0

- Replace the runtime HTTPX transport with `curl_cffi` browser impersonation.
- Preserve the same Apify residential proxy and sticky session across HTML, BFF, and detail requests.
- Add a safe runtime log showing the active HTTP transport and whether a proxy is enabled.
- Generalize network retries so both HTTPX test clients and the production curl transport are supported.

### 0.7.1

- Fix the Apify Proxy session identifier so it satisfies the platform's allowed-character pattern.

### 0.7.0

- Replace the legacy `/graph` pagination request with Glassdoor's current job-search BFF endpoint.
- Correct BFF pagination to use zero-based page numbers while retaining Glassdoor's opaque cursor.
- Replace direct job-page enrichment with the structured public `job-details` endpoint.
- Add exact HTTP status and content type to blocked-request diagnostics.
- Preserve the original search URL across all BFF pagination requests.

### 0.6.0

- Decode pagination cursors stored inside escaped Next.js/Apollo state.
- Bootstrap the page-2 cursor through the public GraphQL web endpoint when SSR HTML omits it.
- Stop immediately instead of requesting known-duplicate SEO pages when no usable cursor exists.
- Log an explicit pagination status and safe failure reason.

### 0.5.0

- Read Glassdoor's opaque pagination cursor from the public first-page state.
- Use the same public session to request later result pages through Glassdoor's web GraphQL endpoint.
- Preserve legacy next-link and SEO URL pagination as a fallback.
- Log the pagination transport and resolved URL at info level for easier cloud diagnostics.
- Add GraphQL response parsing, CSRF/session reuse, and pagination integration tests.

### 0.4.0

- Follow Glassdoor's actual next-page link instead of repeatedly adding `?p=`.
- Derive SEO pagination URLs such as `_IP2.htm` and `_IP3.htm` after redirects.
- Keep the generic query parameter only as a fallback when no SEO URL is available.
- Add tests for next-link discovery and SEO page-path construction.

### 0.3.0

- Add strict job-title keyword matching to remove broad unrelated Glassdoor results.
- Continue pagination until the requested number of relevant titles is collected or pages are exhausted.
- Decode HTML entities such as `&hellip;` in titles and descriptions.
- Add `detail_status` to distinguish fetched, blocked, skipped, unavailable, and not-requested details.

### 0.2.0

- Stop all remaining detail requests after the first Glassdoor 403/security response.
- Disable exponential retries for detail pages while retaining retries for search pages.
- Preserve and save every basic listing when detail enrichment is unavailable.
- Prevent a 25-result run from waiting many minutes on repeated detail-page blocks.

### 0.1.0

- Initial Glassdoor public jobs search.
- Keyword, location, date, employment type, and remote filters.
- Optional direct Glassdoor search URL input.
- Structured JSON-LD, embedded JSON, and HTML card parsers.
- Optional job detail enrichment with conservative pacing.
- Company rating, review count, salary, industry, and company-size fields.
- Proxy support, retries, blocking detection, deduplication, and PPE spending-limit support.
