# Changelog of GulfTalent Job Scraper — Salaries, Emails & 40+ Fields (`blackfalcondata/gulftalent-scraper`) Actor

- **URL**: https://apify.com/blackfalcondata/gulftalent-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/blackfalcondata/gulftalent-scraper.md

## Changelog

All notable changes to this actor.

### 0.1.51 — 2026-09-12

- Incremental fix: a **category** browse now gets its own tracked state. Previously
  every category shared one universe, so running two different categories made each
  run report the other's jobs as removed (`EXPIRED`) even though they were still
  listed. Category is now part of the tracked-search identity, alongside search
  terms, location and country.
- **One-time effect if you use `category` with Incremental Mode:** because the
  tracked identity changes, your next run rebuilds its baseline and emits the full
  current result set once, charged as new records. Runs after that return to normal
  incremental volume. Runs that do not use `category` are unaffected.

### 0.1 — 2026-07-07

- Reliability: hardened the connection layer so searches keep succeeding through
  intermittent access errors that could previously cause a run to return no
  results. No input or output changes.

### 0.1.9 — 2026-05-16

- Schema cleanup: removed always-null fields (companyType, companyEmployeeRange, companyWebsite, companyHeaderImage, companyDescription, contractType, hoursPerWeek, experienceLevel, educationLevel, benefits, publishedAge, isSponsored) — these are not exposed by the gulftalent.com source.
- Wired the universal contact / URL / social-profile harvester baseline.
- Added auto-raise pattern so `maxResults` is never silently capped by `maxPages`.
- Hardened HTML-entity decoding in detail enrichment.

### 0.1.0 — initial release

- Initial release of gulftalent-scraper.
- Coverage: UAE, Saudi Arabia, Qatar, Kuwait, Bahrain, Oman.
- Search by keyword (`query`) or browse by category.
- Detail enrichment with structured fields: title, company, location, employment type, industry, posted date, valid-through date, full description (HTML + Markdown), direct-apply flag, company logo.
- Incremental mode with stable stateKey, repost detection, dedup store.
- Universal post-fetch filters: `includeKeywords`, `excludeKeywords`, `fromDate`/`toDate`, `maxAgeMinutes`, `customFilters` DSL.
- Notification channels: Telegram, Discord, Slack, WhatsApp Cloud API, generic webhook.
- Run-summary metadata toggle (`includeRunMetadata`).
